|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 65 ![]() |
Hello, je vous demande un peu d'aide car j'essaie de faire un chronomètre pour un parcours de jeu... Je donne la possibilité à l'utilisateur de faire un parcours chronométré de 4 jeux successifs. A la fin, le lui donne son temps général. De plus, il peut voir le temps s'écouler sur l'ecran au niv. du swf principal.
J'ai un swf principal sur lequel j'ai placé ma fonction timer. Cette fonction est appellé au début de chacun des jeux chargés. Les 4 jeux sont chargés via "LoadClip" dans un Loader. Mon code sur le swf principal est le suivant : Code :
A la fin du jeu, je mets le temps en pause via ce code : Et j'ajoute à la variable "temps_parcours" le nb de secondes passées durant le jeu via ce code : Code :
_parent.temps_parcours+=_parent.nb_sec; 1min'.7sec'43 à la place de : 1min'27sec'43... J'ai remarqué que c'est toujours le chiffres des dizaines au niveau des minutes qui déconne... Et cette erreur intervient à partir du troisième jeu chargé dans mon loader. Pouvez-vous me dire qu'est ce qui ne va pas dans mon code? Je suppose qu'il doit y avoir bien plus simple et plus propre non? |
||
|
|
00
|
|
|
#2 | ||||
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 132 ![]() |
Alors, je sais pas d'où viens ton problème, mais en tout cas tu peux faire plus simple, c'est pas une bonne idée d'utilise la class Date et de te servir des intervals. Moi j'aurais fait comme ça :
En AS3 : Code :
Code :
|
||||
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 65 ![]() |
salut,
merci de t'être penché sur mon pb ! Alors j'ai regardé un peu ta solution et j'ai essayé de l'appliquer... Mais ya un truc qui ne va pas... Je n'arrive pas à faire une pause dans le temps. J'ai donc mis ce code sur mon swf principal : Code :
et ce bout de code pour arréter le chrono et le mettre en pause en attendant le démarage du jeu suivant : Mais ça ne marche pas. Le chrono ne s'arrète pas ou parfois il se remet carément à 0 lorsqu'un jeu démare... Tu sais pourquoi? |
||
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 65 ![]() |
en fait c'est moi qu'à déconné sur le "this._parent.Chrono_Start" en fait c'est plutot "_parent.Chrono_Start" ... Donc là ça marche car le chrono se lance, l'affichage marche bien mais le temps reviens systématiquement à 0 lorsque le jeu suivant démarre.. En fait il faudrait trouver le moyen de faire une pause
|
|
|
00
|
|
|
#5 | ||
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 132 ![]() |
Ok, j'avais pas compris comme ça. Mais c'est tout simple tu peux faire comme ça :
Lorsque tu arrête ton premier Chrono avec Chrono_Stop(), cette fonction te renvoie le temps écoulé. Tu met ce temps dans une variable et juste après avoir démarrer ton deuxieme chrono tu decale ton Chrono avec cette valeur. Comme ça : Code :
|
||
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 65 ![]() |
Re !
bon excuses moi j'dois etre un peu à la ramasse mais je n'y arrive pas Alors, je récapitule, j'ai essayé deux choses. La première c'était de mettre sur mon swf principal le code : Temps = Temps-TempsEcoule; La seconde était de mettre ça au niveau du code de mon second jeu. J'ai donc mis : _parent.Chrono_Start(); Temps = Temps-TempsEcoule; Et ça remet tjrs le chrono à zero... J'avais également tenté de mettre une variable dans la fonction "Chrono_Start()" par exemple le nb de milisecondes écoulées durant les jeux précédents. L'idée était d'ajouter ce nb de miliseconde au temps lorsqu'il reprend (en fait, ça fait comme une pause finalement) mais je n'ai pas réussi non plu... |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 132 ![]() |
Il faudrais que tu me donne le fla ou alors que tu affiche tout ton code pour que je puisse voir ce qui ne vas pas ^^
|
|
|
00
|
|
|
#8 | |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 65 ![]() |
salut,
malheureusement mon fla est assez enorme premièrement, deuxièmement il fait appelle à des swf (les jeux), donc il faudrait aussi que je te passe les jeux, enfin, le tout ne peut marcher qu'avec easyphp (le ctrl+entrée ne fonctionne pas) donc j'ai bien peur qu'on soit un peu bloqué! En revanche, j'ai quelqu'un sur un autre forum qui m'a dit : Citation:
|
|
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 65 ![]() |
je me demande aussi un truc... Ou dois-je placer "TempsEcoule = Chrono_Stop();" ? Juste après le fonction Chrono_Start dans mon swf principal? ou bien juste après le Chrono_Stop dans mes jeux? Auquel cas je dois mettre "_parent.TempsEcoule = _parent.Chrono_Stop();"...
Et faut-il que je déclare un nouveau GetTimer? |
|
|
00
|
|
|
#10 | ||||||
|
Nouveau Membre du Club
![]() Inscription : décembre 2005 Messages : 132 ![]() |
Je crois que j'ai fait une erreur, je te refait tout ça proprement :
Code :
Pour lancer le Chrono, tu fait Chrono_Start() Pour le mettre en pause tu fait Chrono_Pause() et une fois que c'est fait, tu peux récupérer le temps du dernier niveau avec la variable "DernierTemps" ou alors le temps total avec la variable "TempsTotal". Aussi, tu peux récupérer tout les temps des niveau précédent avec le tableau "ListeTemps". Si tu veux remettre le Chrono à zero, utilise la fonction Chrono_Reset() Exemple : Code :
Code :
|
||||||
|
|
00
|
|
|
#11 | |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 65 ![]() |
Vraiment super Merci mille fois de t'être penché sur mon pb et d'avoir passé du temps à le résoudre ! C'est impecable, là, tu m'en a même donné plus que ce que j'espèrais ! Donc, à la phrase : Citation:
Ca me convient PARFAITEMENT Merci encore ps : t'es balaise en AS c'est ton métier? Tu t'es déjà mise à l'AS3 à ce que je vois en plus... |
|
|
|
00
|
|
|
#12 | ||
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 65 ![]() |
heuuu....
Encore une dernière petite question J'essaie de convertir "DernierTemps" qui est un chiffre en milliseconde sous la forme min/sec/millisec. J'ai essayé de faire ce genre de chose : Code :
T'aurais pas une idée? Apres promi j't'embètte plus |
||
|
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Inscription : février 2007 Messages : 65 ![]() |
c'est bon ! J'ai trouvé tout seul ! T'auras même pas besoin de me répondre
En fait je n'avais pas placé mes lignes de code au bon endroit. Il faut les mettre dans la fonction Deroulement. Ce que je n'avais pas fais. Merci encore cette fois tout est résolu . |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com