oliver7
Messages postés102Date d'inscriptiondimanche 3 octobre 2004StatutMembreDernière intervention 8 septembre 2006
-
19 avril 2005 à 18:14
oliver7
Messages postés102Date d'inscriptiondimanche 3 octobre 2004StatutMembreDernière intervention 8 septembre 2006
-
1 mai 2005 à 12:53
bjr
Voila j'ai une fleche qui pointe vers la souris et que des qu'on apuis sur la une touche la fleche par vers la souri ,
mais voila elle ne retombe pas.
Et j'aimerai bien qu'elle dessende.
mon code :
onClipEvent (load) {
vitesse = 0;
}
onClipEvent (enterFrame) {
this._rotation = Math.atan2(_root._ymouse-_y, _root._xmouse-_x)/(Math.PI/180);
if (Key.isDown(Key.UP)) {
vitesse = 5;
}
_x += vitesse*Math.cos(Math.PI/180*this._rotation);
_y += vitesse*Math.sin(Math.PI/180*this._rotation);
}
durand2504
Messages postés163Date d'inscriptionmercredi 10 novembre 2004StatutMembreDernière intervention21 février 2006 20 avril 2005 à 10:12
Salut,
pour faire un effet de gravité, il faut que ta vitesse diminue dans le temps.
un peu de mécanique:
A=Somme(force) //accélération égale somme des forces
dans ton cas, il n'y a que la gravité, donc ton accélération joue uniquement sur l'axe des y
Ay=mG//
vitesse=intégrale de accélération selon dt entre to et t:
Vx=Vx0
Vy=Vy0+mGt
position=intégrale de vitesse:
y=y0+Vy0t+(mgt^2)/2
dans ton code, comme tu utilises onClipEvent(enterFrame) et x+=, tu
travail sur la variation d'un instant t à t+1, donc uniquement sur la
partie (Vy0+mGt)
à l'heur actuelle, ton code a comme formule x+=Vy0, pour simuler la partie mGt, il te faut mettre une formule du style:
onClipEvent (load) {
vitesse = 0;
follow=true; //indique si la flèche suit la sourie ou bien est en mouvement
}
onClipEvent (enterFrame) {
if (follow==true){
this._rotation = Math.atan2(_root._ymouse-_y, _root._xmouse-_x)/(Math.PI/180);
if (Key.isDown(Key.UP)) {
T=0;
vitesse = 5;
follow=false; //la flèche est tirée, elle ne suit plus la sourie
}
funghi
Messages postés186Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 3 janvier 2011 20 avril 2005 à 10:13
oila un code que j'ai chopé sur yazo.net : ca simule la gravité... simple et efficace !!
vite=2;
gravite=4;
elasticite=10;
this.onEnterFrame=function(){
vite+=(0.1*gravite);
this._y+=vite;
if(this._y>=300){
this._y=300;
vite-=elasticite;
vite*=-1;
}
t'as juste à changer tes coordonnées et le tour est jouer !!!
Funghi