Hej jag har för några dagar sedan börjat jobba lite själv med javascript, lite med enkel grafik och animationer, mm. Så jag tänkte att om jag behöver hjälp med något så kan jag skriva här.
Jag har gjort den här koden:
var g = {x: 200,y: 200}
function update()
{
fill("white");
picture(g.x, g.y, " http://res.freestockphotos.biz/pictures/12/12104-illustration... ", 150, 120)
picture(mouse.x, mouse.y, " http://www.arijitbhattacharyya.com/wp-content/uploads/2013/08... ", 250, 250)
if (keyboard.w)
(g.y -= 7);
if (keyboard.s)
(g.y += 7);
if (keyboard.a)
(g.x -= 7);
if (keyboard.d)
(g.x += 7);
var gmitt = {x: g.x -= 70, y: g.y -= 90}
var d = distance(gmitt.x, gmitt.y, mouse.x, mouse.y)
if (d < 10)
{
stopUpdate();
showMouse();
alert("Game over!");
}
}
Vad är det som inte funkar? borde inte gmitt vara i mitten av spöket?
Och hur gör man så att det spawnas figurer random, inom ett angett område?
Vad är problemet? Är inte på dator så kan inte testa koden själv.
För random kan du ju använda math.random(), som ger ett slumpmässigt tal mellan 0 och 1.
Ska de dyka plats på ett slumpmässigt ställe och/eller vid en slumpmässig tidpunkt?
Om det första kan du ju slumpa fram koordinater med nåt i den här stilen:
function randCoords(min, max){
return math.floor(min + math.random() * (max - min));
}
Om det sistnämnda kan du ha en loop som körs konstant med viss delay, t.ex. borde nåt sånt här ge 10% sannolikhet för spawn varje sekund:
function loop(){
if (math.random() <= 0.1)
{
spawnStuff();
}
}
setInterval('loop', 1000);
var gmitt = {x: g.x -= 70, y: g.y -= 90}
Då du använder "g.x -= 70" minskar du ju värdet på g.x med 70 samtidigt som du räknar ut gmitt.x. Testa bara "-" istället för "-=".
Om det nu var det som var problemet.
Sen är ju hälften av 150 = 75 och hälften av 120 = 60 (verkar som om bilden är 150*120 och du subtraherar med 70 i x-led och 90 i y-led?).
Saknas dessutom semikolon:
var gmitt = {x: g.x -= 70, y: g.y -= 90}
var d = distance(gmitt.x, gmitt.y, mouse.x, mouse.y)
Saknas även semikolon längre upp i koden
Om koden inte körs alls kan man ju få fram felmeddelanden dels med try catch och dels genom att kolla i konsolen (på Chrome får man upp den genom att trycka F12 och sen Konsol).
Ruttenfisk:
Vad är problemet? Är inte på dator så kan inte testa koden själv.För random kan du ju använda math.random(), som ger ett slumpmässigt tal mellan 0 och 1.
Ska de dyka plats på ett slumpmässigt ställe och/eller vid en slumpmässig tidpunkt?
Om det första kan du ju slumpa fram koordinater med nåt i den här stilen:
function randCoords(min, max){
return math.floor(min + math.random() * (max - min));
}Om det sistnämnda kan du ha en loop som körs konstant med viss delay, t.ex. borde nåt sånt här ge 10% sannolikhet för spawn varje sekund:
function loop(){
if (math.random() <= 0.1)
{
spawnStuff();
}
}setInterval('loop', 1000);
Fattar det mesta, men är som sagt väldigt ny och självlärd "programmerare". Måste träna nån månad mer.
Jag hade tänkt slumpmässigt ställe vid slumpmässig tid innom ca 5 sek.
Om det sistnämnda kan du ha en loop som körs konstant med viss delay, t.ex. borde nåt sånt här ge 10% sannolikhet för spawn varje sekund:
function loop(){
if (math.random() <= 0.1)
{
spawnStuff();
}
}setInterval('loop', 1000);
Testar det imorn. Förrästen, en enkel fråga, vad heter musens vänstra knapp? (keyboard.left)?
Så kör jag en;
var d = distance(gmitt, mouse)
if (keyboard.left)
{
when(d < 10)
{
stopUpdate(""vad ska stå här??"")
}
}
Ruttenfisk:
Sen är ju hälften av 150 = 75 och hälften av 120 = 60 (verkar som om bilden är 150*120 och du subtraherar med 70 i x-led och 90 i y-led?).
Tänkte inte på det, bara testade mig fram...
Ruttenfisk:
Saknas även semikolon längre upp i koden
Semikolon är inte nödvändigt i javascript, när den funkade, så funkade den utsn också. Men det är en dålig vana jag har att glömma det. Började inte för så länge sen.
Använder du nåt library? Musen lär hursomhelst inte höra till keyboard, utan man får kolla om musknappen är nere på annat sätt.
Om du vill slumpa fram någonting inom fem sekunder vore det lättaste imo att slumpa tiden:
setTimeout(function(){
// Din kod här
}, math.floor(math.random()*5000));
applekakanshaj2:
Semikolon är inte nödvändigt i javascript, när den funkade, så funkade den utsn också. Men det är en dålig vana jag har att glömma det. Började inte för så länge sen.
Inte? Var iofs väldigt länge sen jag höll på med språket. Är mer van vid PHP eller Lua, och i PHP måste man alltid använda medan man i Lua aldrig använder.
Ruttenfisk:
Inte? Var iofs väldigt länge sen jag höll på med språket. Är mer van vid PHP eller Lua, och i PHP måste man alltid använda medan man i Lua aldrig använder.
Ja precis, trodde också det var så, men det behövs inte. Men går. Det är ju ett ganska enkelt programmeringsspråk.
applekakanshaj2:
Ja precis, trodde också det var så, men det behövs inte. Men går. Det är ju ett ganska enkelt programmeringsspråk.
Hehe ju mer man vet desto mindre vet man. Säg det där igen när du börjar mecka med prototypiska arv och andra spännande konstigheter med språket 🙂