Avatar billede limbloogie Nybegynder
08. juni 2005 - 10:43 Der er 3 kommentarer

Random placed objekter rammer hinanden, hvordan forhindre jeg det

Hej..
Er igang med en lille projekt for en ven.
http://beta.aeromedia.dk/
problemet er at cirklerne rammer hinanden nogen gange når de er stoppet, hvordan forhindre jeg det?
Her er den nuværende script:
på frame 1:

xMin = 30;
xMax = 800;
yMin = 30;
yMax = 600;
easeFactor = 10;
randomX = Math.random()*(xMax-xMin)+xMin;
randomY = Math.random()*(yMax-yMin)+yMin;

frame 3:

distance = Math.sqrt(Math.pow(this._x-randomX, 2)+Math.pow(this._y-randomY, 2));
if (distance>1) {
    this._x += (randomX-this._x)/easeFactor;
    this._y += (randomY-this._y)/easeFactor;
    gotoAndPlay(2);
} else {
    gotoAndPlay(2);
}
Avatar billede limbloogie Nybegynder
08. juni 2005 - 10:44 #1
måske nogen der kender en alternativ script?
Avatar billede svendthomsen Nybegynder
08. juni 2005 - 16:10 #2
du kunne lave så en hitTest som fik den til at gå en anden vej;D
Avatar billede flash_geek Nybegynder
09. juni 2005 - 22:03 #3
Ja eller du kunne lave en array - i den array kan du registrere hvor de forskellige instances lander.

Så kunne du lave en test der tjekker om pladsen er taget ved at se om se om værdien findes i array'en -- lidt samme teknik som med en listener.

Der er bare at oprette en 'for' løkke med en if sætning. Så skal du nok afrunde værdierne inden du assigner dem til array'en. Du kan vælge at benytte to arrays eller lave dit eget syntax f.eks xVærdi#yVærdi 230#120. Hvis pladsen så er taget er det bare at lægge til/trække fra _x og _y og registrere værdierne -- men sådan en løsning koster. Men det her kan du nok godt bruge. Samtidig ville jeg lave det hele i en frame. Og benytte movieclip metoden onEnterFrame();

HitTesten er også god at benytte men jeg tror at denne her metode giver dig mere kontrol - den er dog nok sværre at implementere.

Held og lykke med arbejdet :o9 TR
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester