PDA

Volledige versie bekijken : help de noob: random motion


Down
%Europe/Berlin %773 %2005, 19:34
Dit is (denk ik) een simpel vraagje voor de meeste van jullie..

Ik vroeg me af hoe je in dit script:

op de actions laag...


//randommotion
i = 0;
while (i<25) {
//duplicateMovieClip(dot, "dot"+i, i);
dot.duplicateMovieClip("dot"+i, i);
i++;
}


op de movieclip...

onClipEvent (load) {
//data you may want to change
width = 700;
height = 500;
speed = Math.round(Math.random()*2)+1;
//initial positions
x = Math.random()*width;
y = Math.random()*height;
this._x = x;
this._y = y;

x_new = Math.random()*width;
y_new = Math.random()*height;
}
onClipEvent (enterFrame) {
//x movement
if (x_new>this._x) {
sign_x = 1;
} else {
sign_x = -1;
}
dx = Math.abs(x_new-this._x);
if ((dx>speed) || (dx<-speed)) {
this._x += sign_x*speed;
} else {
x_new = Math.random()*width;
}
//y movement
if (y_new>this._y) {
sign_y = 1;
} else {
sign_y = -1;
}
dy = Math.abs(y_new-this._y);
if ((dy>speed) || (dy<-speed)) {
this._y += sign_y*speed;
} else {
y_new = Math.random()*height;
}
}


Het aantal kan veranderen zodat er nog maar 1 mc over blijft die over je pagina beweegt (Ik wil er een vlinder van maken)..
op mijn site zie je witte puntjes... dit is bovenstaand script..
Alvast bedankt!

mateo)
%Europe/Berlin %795 %2005, 20:04
while (i<25) {
(...)

je maakt er nu 25 aan...

Down
%Europe/Berlin %974 %2005, 00:22
haha ok thnx.. dat wilde ik ff weten :#

Down
%Europe/Berlin %019 %2005, 01:28
OK nu dat ik dat voor elkaar heb (zie site: http://www.erwinweber.nl/!)... Heb ik een volgend probleem... Is er een scriptje waarmee ik de vlinder constant laat draaien zodat deze steeds naar 'voren' vliegt... ?? Hoop dat iemand dit weet! Alvast bedankt!

theFlashWizard
%Europe/Berlin %023 %2005, 01:34
ik denk dat je dat moet gaan uitrekenen aan de hand van wat je optelt bij de y en de x..
das volgens mij dezelfde berekening als die je nodig hebt als je bijv de wijzers van n klok wil laten draaien aan de hand van je muis positie..

Kga et heel ff probere.. omdat ik in n goede bui ben.. ;)

en jawel.. :)
check de fla :)

of anders het script:

setInterval(randomSpeeds,1000)
function randomSpeeds(){
speedX = random(4)+1
speedY = random(4)+1
}
_root.onEnterFrame = function(){
pers2._x += speedX
pers2._y += speedY

angle2 = Math.atan2(speedY,speedX);
angle2 = angle2 * 180/Math.PI ;
pers2._rotation = angle2
}

ow trouwens.. erg leuk die kleurenplaat tekening aan de zeikant.. :) erg orgineel.. :)
alleen lijk ik trouwens steeds de tekstaanwijzer te hebbe.. heb je ergens n groot textfield selectable laten staan?

Down
%Europe/Berlin %039 %2005, 01:56
Hey FlashWizard! Onwijs bedankt.. ik ga nu ff crashen.. ga 't morgen ff uitproberen! En ja dat van tekstaanwijzer had ik ook gezien.. ga ik ook morgen even checken! Onwijs bedankt dat je dit ff voor me hebt uitgezocht en voor 't snelle antwoord!

Down
%Europe/Berlin %366 %2005, 09:47
hmm.. hij werkt wel.. hij gaat alleen van de stage af..
Heb van een ander forum tip gekregen de code op de mc ziet er nu zo uit..


onClipEvent (load) {
//data you may want to change
width = 700;
height = 500;
speed = Math.round(Math.random()*2)+1;
//initial positions
x = Math.random()*width;
y = Math.random()*height;
this._x = x;
this._y = y;
x_new = Math.random()*width;
y_new = Math.random()*height;
}
onClipEvent (enterFrame) {
//x movement
if (x_new>this._x) {
sign_x = 1;
} else {
sign_x = -1;
}
dx = Math.abs(x_new-this._x);
if ((dx>speed) || (dx<-speed)) {
this._x += sign_x*speed;
} else {
x_new = Math.random()*width;
}
//y movement
if (y_new>this._y) {
sign_y = 1;
} else {
sign_y = -1;
}
dy = Math.abs(y_new-this._y);
if ((dy>speed) || (dy<-speed)) {
this._y += sign_y*speed;
} else {
y_new = Math.random()*height;
}
radians = Math.atan2(y_new - this._y, x_new - this._x);
degrees = Math.round((radians * 180 / Math.PI));
_rotation = degrees;

}


Maar toch onwijs bedankt! Altijd prettig om te weten dat als je vast zit dat je hier terecht kunt :)

theFlashWizard
%Europe/Berlin %397 %2005, 10:32
graag gedaan
mooi dat je eruit gekome bent :)