Du kunne også bare have ladet mig svare videre på
http://www.eksperten.dk/spm/128170 , men vi kan da også bare fortsætte her :)
Nu da vi har fundet frem til et udtryk for accelerationen a i fjederen, så skal vi blot lægge accelerationen til hastigheden (acceleration er som bekendt ændring i hastighed). Hastighed er så ændring i position, og derfor ændrer vi positionen som følge af hastigheden (vi lægger bare accelerationen til hastigheden, og derefter hastigheden til positionen). Hvis du vedhæfter følgende kode til et movie clip, så vil det svinge frem og tilbage mellem musen:
onClipEvent(load) {
k = 0.2;
c = 0.4;
m = 1;
}
onClipEvent(enterFrame) {
deltaX = (_x-_root._xmouse);
deltaY = (_y-_root._ymouse);
accX = (-k*deltaX-c*velX)/m;
accY = (-k*deltaY-c*velY)/m;
velX += accX;
velY += accY;
_x += velX;
_y += velY;
}
Jeg har dog lavet en fejl i den oprindelige ligning, hvor kraften fra underlaget er -cv og ikke +cv :)
Mvh Morten