PDA

Volledige versie bekijken : AI Rotation


NoidZ
%Europe/Berlin %533 %2008, 13:48
Hey mensen :)

Ik ben bezig met een game in FlashLite 3.0 en wil zegmaar dat een object (welke een bepaalde snelheid aan neemt d.m.v. een var) Nou wil ik een meteoor in dit geval naar een bepaald vast punt laten leiden, maar hoe of waar ik m ook neerzet, hij moet dus dusdanig roteren dat deze altijd met de voorkant zijn doel bereikt.

Ik ben al enige tijd bezig, maar ik kom totaal niet verder en dit is zo'n beetje het laatste twistpunt waar ik mee zit.

Alvast heel erg bedankt!

Joenesy
%Europe/Berlin %565 %2008, 14:35
Ik denk dat je met Sos Cas Toa een eind komt.


x1 = point1._x;
y1 = point1._y;
x2 = point2._x;
y2 = point2._y;

dx = x1-x2;
dy = y1-y2;

distance = Math.sqrt(dx*dx+dy*dy) //afstand tussen de 2 punten (Pythagoras)
radians = Math.atan2(dy,dx) //radialen van punt 1
degrees = radians*(180/Math.PI); //graden van punt 1 naar punt 2


en vervolgens koppel je degrees aan je punt1, dit zal dan altijd naar punt2 wijzen. Bijgesloten vind je een fla die ik even in elkaar heb gedraaid om het effect te laten zien. Sleep punt 1 over het scherm.

NoidZ
%Europe/Berlin %586 %2008, 15:03
Helemaal geweldig! Echt super bedankt :)

Nog een dingetje (A) Ik wil m zegmaar niet met mn muis controllen, maar punt 1 moet altijd naar punt twee gaan. Het is namelijk een productie voor de NokiaN95-8G :)

Nogmaals bedankt ;)


function calculate(){
x1 = point1._x;
y1 = point1._y;

x2 = point2._x;
y2 = point2._y;

dx = x1-x2;
dy = y1-y2;

distance = Math.sqrt(dx*dx+dy*dy) //afstand tussen de 2 punten
radians = Math.atan2(dy,dx) //radialen van punt 1
degrees = radians*(180/Math.PI); //graden van punt 1 naar punt 2
//trace(distance);
trace(degrees);
point1.arrow_mc._rotation = degrees; //punt 1 draait mee op de graden
}

point1.onPress = function(){
startDrag(this);
this.onMouseMove = function(){

calculate()
}
}

point1.onMouseUp = function(){
if (this.onMouseMove) {
delete this.onMouseMove;
stopDrag()
}
}

calculate()

NoidZ
%Europe/Berlin %679 %2008, 17:18
Het is overigens een homebrew game, non-commercial use ;)