PDA

Volledige versie bekijken : 'smooth' beweging


peres
%Europe/Berlin %955 %2005, 23:55
hey iedereen,

ik heb dus een Mc'tje die ik op en neer kan laten bewegen met de pijltjes toetsen

hier is het script van de MC:

onClipEvent (enterFrame) {
if (Key.isDown(37)) {
_x=_x-5;
}
if (Key.isDown(38)) {
_y=_y-5;
}
if (Key.isDown(39)) {
_x=_x+5;
}
if (Key.isDown(40)) {
_y=_y+5;
}
if (hitTest(_root.wall1)==true) {
_y=_y+5;
}
if (hitTest(_root.wall2)==true) {
_y=_y-5;
}
}


(de wall1 en wall2 zijn de MC's die hem tegenhouden onder en boven. kan een beetje onprofessioneel overkomen maarja)

Maar hij gaat nou heel stijf. als je de pijltjestoetsen loslaat staat hij meteen stil. Maar een auto staat ook niet meteen stil als je op de rem trapt. dus is het niet mogelijk dat de MC geleidelijk aan uitrolt als je de pijltjestoetsen loslaat?

Jordy
%Europe/Berlin %958 %2005, 00:00
Ik heb in mn flash mapje gezocht ;) en wat gevonden. Je moet dus werken met krachten :) Deze fla is alleen het tegenovergestelde van wat jij wilt :) maar je hoeft dus maar een aantal variabele te veranderen.

Alles in de fla spreekt voor zich :) succes.

peres
%Europe/Berlin %960 %2005, 00:02
eh... sorry, welke fla?

peres
%Europe/Berlin %960 %2005, 00:03
oh ik zie em al als bijgesloten document. net zag ik em niet

bedankt man! :D

peres
%Europe/Berlin %971 %2005, 00:19
hoe stel je hem dan in dat hij ook echt gaat stoppen als hij is afgeremd. ik heb nou de force1 (zwaartekracht) groter gemaakt dan de force2 (opwaartse karcht) zodat de nettoforce +1 is in de zwaartekrachtrichting. dus eigenlijk is de nettokracht negatief, maar in dit geval positief in de zwaartekracht richting. hij begint dus even omhoog te zweven en daarna nadat hij geleidelijk is afgeremd gaat hij met volle snelheid naar beneden, want hij wordt versneld door de zwaartekracht. hoe ga ik dat laatste tegen? dat hij alleen maar afremd...

Jordy
%Europe/Berlin %371 %2005, 09:55
var ymov:Number = 20;
//Beweging in Y positie
var mass:Number = 2;
// zwaarte van de ballon
var force1:Number = 30;
//zwaartekracht
var force2:Number = -31;
//opwaartse kracht
var netForce:Number = force1+force2;
// krachten bij elkaar opgeteld
var yaccel:Number = netForce/mass;
// acceleratie in Y richting
onEnterFrame = function () {
if (ymov == 0) {
yaccel = 0;
} else {
ymov += yaccel;
ballon._y += ymov;
}
};