Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: JS: Hyppivä laatikko

joah [18.03.2015 16:57:27]

#

Hei, yritän tehdä hyppivää laatikkoa näin: http://jsfiddle.net/q6c8yehf/
Kun klikkaan ensimmäisen kerran laatikkoa, se hyppää halutunlaisesti. Toisella kerralla kuitenkin se tekee mitä haluaa. Mistä se johtuu? En ole ennen hirveästi keskittynyt mihinkään lentoratoihin yms. joten en oikeen osaa sanoa missä on vika.

GIF: http://i.imgur.com/cCCX7XW.gifv

Metabolix [18.03.2015 17:13:28]

#

Vaikea vastata, kun et kerro, mitä laatikon pitäisi tehdä, mutta ehkä kannattaisi laittaa sinikaavaan x:n paikalle (x-xo). Lisäksi poistaisin tuon oudon alkuhypyn ja ehkäpä vielä muuttaisin hypyn sellaiseksi, että laatikko tulee takaisin alas asti. JSFiddle

Toisaalta tavallinen lentorata ei suinkaan ole siniaallon muotoinen vaan paraabeli.

(x0, y0) = lähtökohta
(vx, vy) = lähtönopeus
t0 = alkuhetki = (new Date()).getTime() / 1000
g = putoamiskiihtyvyys (vakio)

t = nykyhetki = (new Date()).getTime() / 1000
dt = t - t0
x = x0 + vx * dt
y = y0 + vy * dt + g * dt * dt / 2
(x, y) = nykyinen kohta

joah [18.03.2015 17:29:21]

#

Tarkoituksena on, että boksi hyppii ylemmäs ja ylemmäs. Niinkuin hyppisi portaita.

E: Kiitos koodista, sain sen kanssa toimimaan :)

Lebe80 [19.03.2015 16:23:58]

#

Mäkään en saa tuosta mitään selvää. Yleensä itse olen käyttänyt hyppykoodeihin ihan "y-suuntaista vauhtia", jota plussataan y-koordinaattiin. Tällöin on helppo asettaa y-suuntaiselle vauhdille "painovoima".

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta