begin process at 2012 05 27 20:26:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Flash

 > 

Archives

 > 

ActionScript

 > 

ou sont les friens ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ou sont les friens ?

jeudi 19 juin 2003 à 12:23:23 | ou sont les friens ?

simonced

Bonjour,
J'essaye de créer un petit jeu de conduite vue de dessus.
J'ai bien réussi à gérer l'acceleration, mais la touche pour freiner n'appelle pas ma methode de classe.
Je ne sais pas pourquoi...
Si vous pouviez m'eclairer sur ce sujet.
Pour moi l'objectif, est de gérer les déplacement avec des methodes de classes, pour m'habituer à la programmation objet de flash.

Meric d'avance.


//notre voiture
function Voiture() {
this.couleur="rouge";

//mettons ici les propriétés de ma voiture
this.bracage=20;/*
nombre de degres dont ce decale le vecteur de
direction pour chaque appuie sur avant ou arriere
*/
this.acceleration=0.4;
/*
Nombre de pixel en vitesse dont augmente la voiture
lorsqu'on reste appuyé sur acceleration
*/
this.frein=1; /*
pareil que accelleration, mais à l'nevers
pour freiner
*/

this.friction=0.2; //decelaration naturelle sans frener pdt elan

this.vitesse=0; //forcement, au début, la voiture est à l'arret !

this.sens=1; //pour savoir si on avance ou on recule
this.directionx=0; //vecteur de direction en X
this.directiony=-1; // Y

this.event_accel=0; //evenement du fait de rester accelerer
this.event_frein=0; //evenement du fait de rester accelerer
this.interval_accel = 0; //permet de récupérer l'evenement de touche apuyée répétes par setinterval
this.interval_frein = 0; //pareil, pour le freinage
}
//heritage
Voiture.prototype = new MovieClip();

//la fonciton qui fait tout avancer
//**********************************
Voiture.prototype.bouge = function() {
//on calcule la vitesse
this.vitesse+=(this.sens*this.acceleration);
trace("nouvelle vitesse:"+this.vitesse);

//on deplace la voiture
this._x+=this.directionx*this.vitesse;
this._y+=this.directiony*this.vitesse;
}

//gestion du freinage
Voiture.prototype.frein = function() {
trace("vitesse en freinage :"+this.vitesse);

//on calcule la vitesse
this.vitesse-=(this.sens*this.frein);
if(this.vitesse<0) this.vitesse=0;

//on deplace la voiture
this._x+=this.directionx*this.vitesse;
this._y+=this.directiony*this.vitesse;
}

//gestion de la friction
Voiture.prototype.friction = function() {
//on regarde encore si on tien appuyé !
trace("friction");

//on calcule la vitesse
this.vitesse-=(this.sens*this.friction);
if(this.vitesse<0) this.vitesse=0;

//on deplace la voiture
this._x+=this.directionx*this.vitesse;
this._y+=this.directiony*this.vitesse;
}

Voiture.prototype.getColor = function() {
trace(this.couleur);
}

//register
Object.registerClass("Voiture",Voiture);

//creation d'une voiture
attachMovie("Voiture","voiture1",1,{_x:150,_y:450});

//gestion de levenement, qui va appeller les bonnes methodes de mon clip voiture
myKeyListener = new Object();
myKeyListener.onKeyDown = function(){
//gestion de l'acceleration
if(Key.isDown(Key.UP) && voiture1.event_accel==0) {
voiture1.event_accel=1;
voiture1.interval_accel = setInterval(managebouge,50);
}
//gestion du freinage
if(Key.isDown(Key.DOWN) && voiture1.event_frein==0) {
voiture1.event_frein=1;
voiture1.interval_frein = setInterval(managefrein,50);
}
}
myKeyListener.onKeyUp = function(){
//si on lache la touche up, on arrete le setinterval de acceleration
if(Key.getCode()==Key.UP) {
voiture1.event_accel=0;
clearInterval(voiture1.interval_accel);
trace("interval_accel clear");
}
//si on lache la touche DOWN, on arrete le setinterval de frein
if(Key.getCode()==Key.DOWN) {
voiture1.event_frein=0;
clearInterval(voiture1.interval_frein);
trace("interval_frein clear");
}

}
Key.addListener(myKeyListener);

//permet de gérer l'interval d'action de la répétition de touche
function managebouge() {
voiture1.bouge();
}

//permet de gérer l'interval d'action de la répétition de touche
function managefrein() {
voiture1.frein();
}

--------------------------------------------------------------------------------
It's good to feel like a god, commanding a computer with Programming languages...


Cette discussion est classée dans : interval, vitesse, voiture, frein, voiture1


Répondre à ce message

Sujets en rapport avec ce message

détection de collision seulement au centre du mc (?) [ par valeriet ] Bien le bonjour !voilà : j'ai fait ou plutôt recopié un code pour déplacer une voiture et la faire "rebondir" sur un obstacle. Tout fonctionne, sauf q flash as2 slide diagonale (bas gauche-haut droite) avec btn qui diminuent et interaction curseur [ par dospy ] Bonjour à tous, Je suis débutante en flash, enfin surtout en as. Malgré tous les tutoriaux, je suis bloquée sur une animation. J'aimerai avoir un déf [Jeu Flash] Eviter la touche enfoncée [ par JonFever ] Hello ! Je suis nouveau sur Flashkod car je m'intéresse depuis peu à l'Action Script. En effet, j'effectue des tests simples (faire marcher un personn Double pression touche clavier key.isDown [ par palancas ] Hello à tous, bonne année 2011 ! J'aimerais avoir un peu d'aide par rapport à l'utilisation de la méthode key.isDown Je réalise un mini-jeu vidéo en Problème deplacement vitesse [ par sepult ] Bonjour tous, j'ai un petit problème avec mon code as, en effet je déplace un clip qui va allez jusqu'à un autre clip par rapport à sa position x et y jeu de voiture a créer [ par alicerise ] Salut tout le monde!! Voila je suis nouvelle dans le monde du flash et d'actionScript, je suis débutante et je connais pratiquement rien. Cependant on [probleme]Jeu de voiture Flash actionscript 2.0 [ par vbouteille ] Salut à tous,j'ai un gros problème,je n'arrive pas à finir mon mini projet flash,et c noté,j'aimerai bien si quelqu'un s'y connait en action script 2. Faire se déplacer un clip (ici une voiture) d'un point A vers un point B de façon réaliste [ par cd59 ] Bonjour à tous. Alors voilà. Je voudrais faire en sorte que mon clip (représenté ici par une voiture vue du dessus) se déplace d'un point A vers un po augmenter le i++ en AS3 [ par aerial9 ] Bonjour à tous, ça fait quelques temps que je ne suis pas venu sur codes-sources. Je demande votre aide sur ce sujet : Je souhaiterai attacher une var Animation lente - lags [ par partisansretour ] Bonjour à tous :) Je vous expose mon problème : j'ai créé un petit jeu juste aujourd'hui, rien de bien extravagant, juste un simple jeu de shoot à la


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales