re: vadlevente
Objektumokban gondolkozz, tehat mindenkepp osztalyokat erdemes irni. Anelkul is megoldhato, de jobb raszokni az osztalyokra.
Tehat van egy jatekos osztalyod, aminek van gyorsulas, es sebesseg vektora. Ezek 2dimenzios vektorok, mivel a jatek 2d-s, ezt is jobb kulon osztallyal megcsinalni, de most az egyszeruseg kedveert legyen a 2D-s vektor helyett 2 db szam tipusu valtozo, ami reprezentalja a vektort:
// gyorsulas
var ax:Number;
var ay:Number;
// sebesseg
var vx:Number;
var vy:Number;
A pozicionak megfelel a mar letezo x, y tulajdonsaga a Sprite-nak / MovieClip-nek.
Ezutan Newton 2.torvenye alapjan, minden onEnterFrame lefutaskor ez a keplet:
vx += ax;
vy += ay;
x += vx;
y += vy;
Az ax, ay pedig az F = m * a -bol szamithato, a = F / m,
az ugras-t tehat pl ugy tudod megcsinalni, hogy
- van egy gravitacios ero, ez mindig hat, tehat ay = G; mondjuk G = 5, de ezt neked kell kiprobalni hogy milyen szammal jo, pozitiv legyen.
- space lenyomasara pedig kap egy kezdosebesseget felfele, ami fokozatosan eltunik majd masik iranyba atmegy (amikor elkezd leesni)
utkozeserzekeles hitTest-el,
ha a sebesseg (vy) < 0 akkor felfele ugrik eppen