PDA

Volledige versie bekijken : Afstand berekenen tussen 2 MC's


SpeedRage
%Europe/Berlin %655 %2005, 16:44
onEnterFrame = function() {
//Variables
x1 = (ball1._x);
x2 = (ball2._x);
y1 = (ball1._y);
y2 = (ball2._y);

//Distance between ball1 and ball2
x_cord = x2 - x1
y_cord = y2 - y1
BallDistance = Math.round(Math.sqrt((x_cord*x_cord)+(y_cord*y_cor d)))

//Line1 angle - By following ball2
angle = Math.atan2(y2 - line1._y, x2 - line1._x);
angle = angle * 180/Math.PI ;

//Line1 Property's
line1._x = x1
line1._y = y1
line1._width = BallDistance
line1._rotation = angle
}

http://www.5th-clan.com/speedrage/flash/distance.swf

Als je naar de SWF bestand raad je waarschijnlijk al waar ik heen wil. Die Line1 die niet echt wat ik wil. Ik wil dat de lengte van de line tussen de 2 rode ballen blijft en niet als ik 1 bal omhoog doet dat hij dan breed wordt.

peres
%Europe/Berlin %718 %2005, 18:14
ik ben er nog niet helemaal uit maar waarom heb je 2 dezelfde variabelen?

angle = Math.atan2(y2 - line1._y, x2 - line1._x);
angle = angle * 180/Math.PI ;

Dauntless
%Europe/Berlin %721 %2005, 18:19
ik ben er nog niet helemaal uit maar waarom heb je 2 dezelfde variabelen?

angle = Math.atan2(y2 - line1._y, x2 - line1._x);
angle = angle * 180/Math.PI ;
Math.atan2 geeft een waarde in radialen terug. Die wil hij omzetten naar graden.

Maar het is me eigenlijk niet helemaal duidelijk wat je wil? Gewoon een lijn tussen de twee bolletjes?

peres
%Europe/Berlin %727 %2005, 18:28
ja maar als je allebei de variabelen de naam 'angle' geeft gaat het toch mis?

Dauntless
%Europe/Berlin %728 %2005, 18:28
Da's juist hetzelfde als:

var naam = "jeroen";
naam = naam + " a.k.a. Dauntless";
trace(naam);

Snap je?

peres
%Europe/Berlin %752 %2005, 19:02
oh ok sorry, ik wist niet dat dat mogelijk was :) weer wat geleerd

SpeedRage
%Europe/Berlin %767 %2005, 19:24
ja maar ik ben er niet wijzer op geworden :(

Dauntless
%Europe/Berlin %769 %2005, 19:27
ja maar ik ben er niet wijzer op geworden :(
Ja, omdat ik het probleem niet snap :D. Je hebt mijn post dus ook niet gelezen ;).

Wil je gewoon een lijn tussen die 2 bolletjes trekken? Of wil je dat die altijd evenlang blijft maar dikker wordt of zo...?
Gelieve nog wat meer uitleg :)

SpeedRage
%Europe/Berlin %788 %2005, 19:55
Nou ik gewoon dat die lijn tussen die te bolletjes blijft als ik ze beweegt maar hij moet wel even dik blijven

Sorry 8)

Dauntless
%Europe/Berlin %807 %2005, 20:22
Bedoel je dit?

this.onEnterFrame = function()
{
this.clear();
this.lineStyle(3, 0x000000);
this.moveTo(ball1._x, ball1._y);
this.lineTo(ball2._x, ball2._y);
updateAfterEvent();
};

SpeedRage
%Europe/Berlin %850 %2005, 21:25
uuuhhh... ja :S

Natuurlijk een draw waarom heb ik daar nou weer niet aan gedacht, ik denk ook altijd weer veelste moeilijk.