PDA

Volledige versie bekijken : hitTest shapeflag probleem


Flashingback
%Europe/Berlin %519 %2007, 12:28
Ik heb een heel erg raar probleempje. Ik ben bezig met een simpel spelletje met een konijn (dit doet niet echt terzake maar goed:p). Ik wou een soort van graviteits functie maken zodat het konijn niet in de lucht blijft hangen. Ik wou het niet te moelijk maken en daarom wou ik hitTest gaan gebruiken.

if(gameMain.mc_collision.hitTest(gameMain.mc_knijn ._x,gameMain.mc_knijn._x,true)==false) {
gameMain.mc_knijn._y += 1
}


Dit wil dus niet werken. De paden zijn correct die heb ik zo een tien keer gecheckt en mijn konijn blijft dus gewoon vallen. Als ik de hitTest trace blijft ie ook false zeggen.

Ik moet wel zeggen dat er _rotation is gebruikt op gameMain mag dit mischien niet?

Wytzeaaa
%Europe/Berlin %572 %2007, 13:44
gameMain.mc_collision.hitTest(x, y, true) controleert of het punt (x,y) in de _root zich bevindt op een positie waar het de movieclip gameMain.mc_collision overlapt.

de waarde van gameMain.mc_knijn._x en gameMain.mc_knijn._y komt waarschijnlijk niet overeen met op welke positie deze zich op de stage bevindt. De movieclip gameMain is namelijk gedraaid (en vermoedelijk ook gescaled en mss zelf ook niet op positie 0,0) Je moet dus x en y uitrekenen. Volgens mij kun je dat doen met localToGlobal of globalToLocal, en anders wordt het wiskunde.

Flashingback
%Europe/Berlin %597 %2007, 14:20
Dus als ik je goed begrijp word de hitTest op de root uitgevoerd ook al staat hij in gameMain.

gameMain.mc_knijn word ook gedraaid dus de x en de y waarden van het konijn zullen inderdaad verschillend zijn als je ze vergelijkt me die konijn heeft vanaf de stage. gameMain is in iedergeval niet maar staat ook niet op 0,0.

localToGlobal of globalToLocal heb ik nog nooit gebruikt en ik snap het nog niet echt ook hopenlijk ga ik het na ff bestuderen wel door hebben hoe het werkt. Die coordinaten zijn echt verwarend op deze manier.