Problème timer

tim00 Messages postés 41 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 18 décembre 2004 - 5 sept. 2004 à 17:27
tim00 Messages postés 41 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 18 décembre 2004 - 6 sept. 2004 à 07:21
vula , le but du jeu est d'appuyer le plus vite possible sur espace ... sauf que ça n'a aucun interet si on peut rester appuyer sur espace ... voila mon code , mon problème est que je n'arrive po a réséter la variable timer ...

onClipEvent(enterFrame){
if(Key.isDown(Key.SPACE)){
timer = getTimer();
_x +=5;
}
else{
_x-=3;
}
if(Key.isDown(Key.SPACE) && timer >= 5000){
_x-=5;
timer = 0;
}
}

5 réponses

SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
5 sept. 2004 à 20:01
La bonne technique est plutôt celle-là :
compteur = 0;
Space = new Object();
Space.onKeyDown = function() {
if (Key.isDown(Key.SPACE)) {
Space.ON = true;
}
};
Space.onKeyUp = function() {
if (!Key.isDown(Key.SPACE) && Space.ON) {
Space.ON = false;
compteur++;
trace(compteur);
}
};
Key.addListener(Space);


A toi de parfaire !
[mailto:tam@relle.fr.st SuperDevy]
0
tim00 Messages postés 41 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 18 décembre 2004
5 sept. 2004 à 20:30
arf ok merci mais ... g rien compris au code tu pourrai m'expliquer ???
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
5 sept. 2004 à 21:13
Désolé, j'ai pas pris le temps de commenter, alors voici comment ça marche :
compteur est la variable qui est incrémentée à chaque fois que t'enfonce la spacebar.
Space est l'objet écouteur (voir l'aide sur addListener)
Il permet d'utiliser les évênements onKeyDown et onKeyUp ; ceux-ci sont intéressants ici car ils sont totalement indépandent de la vitesse de lecture de l'anim' : pas besoin de mettre à 120 fps.
Space.ON est une variable indiquant si la spacebar est enfoncée (true) ou relevée (false). Cette variable est nécessaire pour éviter la triche : sans elle il suffit de garder la spacebar enfoncée et d'appuyer sur toutes les touches.

J'ai adapté mon code pour ton jeu :
onClipEvent (load) {
Space = new Object();
Space.onKeyDown = function() {
if (Key.isDown(Key.SPACE)) {
Space.ON = true;
}
};
Space.onKeyUp = function() {
if (!Key.isDown(Key.SPACE) && Space.ON) {
Space.ON = false;
_x += 8; // Ce qui concerne ton jeu
}
};
Key.addListener(Space);
}
onClipEvent (enterFrame) {
_x -= 3; // Ce qui concerne ton jeu
}


J'ai testé à 12 fps et c'est déjà assez chaud !

A toi de parfaire !
[mailto:tam@relle.fr.st SuperDevy]
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
5 sept. 2004 à 21:25
Je pense que tu n'est pas le seul intéressé par ce genre de code, donc je compte créer un petit jeu que je posterai ici d'ici quelques jours.

N'hésite pas me demander si tu as un problème !

[mailto:tam@relle.fr.st SuperDevy]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tim00 Messages postés 41 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 18 décembre 2004
6 sept. 2004 à 07:21
normalement sa devrait allez , merci pour tes explications :)
0
Rejoignez-nous