2010-06-03 13 views
0

ok donc im en utilisant le code de base réel pour un petit jeu et j'ai une minuterie mis en place sur une pièce et ne peux pas l'afficher dans la salle de fin de partie s'il vous plaît aider?actionscript affichage minuterie

c'est le code utilisé i

var gameStartTime:uint; 
var gameTime:uint; 

var gameTimeField:TextField; 

gameTimeField = new TextField(); 
gameTimeField.x = 900; 
gameTimeField.y = 50; 


addChild(gameTimeField); 

gameStartTime = getTimer(); 
gameTime = 0; 

addEventListener(Event.ENTER_FRAME,showTime); 

function showTime(event:Event) 
{gameTime = getTimer()-gameStartTime; 
gameTimeField.text = "Time: "+clockTime(gameTime); 
} 
function clockTime(ms:int) 
{ 
    var seconds:int = Math.floor(ms/100); 
    var minutes:int = Math.floor(seconds/60); 
    seconds -= minutes*60; 

    var timeString:String = minutes+":"+String(seconds+100).substr(1,2); 

    return timeString; 
} 
+0

Ce n'est pas vraiment clair pour moi quel est votre problème. Est-ce que vous avez le temps stocké dans la variable gameTime et vous ne pouvez pas accéder à celui-ci d'ailleurs dans votre jeu? –

+0

je suis désolé de ne pas être clair. Je suis resté éveillé un certain temps et je n'ai pas utilisé ActionScript avant la semaine dernière. ive mettre en place un jeu où vous attrapez des balles et j'ai une petite minuterie qui court sur l'écran et j'essaie de l'obtenir pour dissiper ce qu'il obtient quand je clique sur le bouton suivant pour passer à la prochaine sceen – Aaron

+0

Alors, où est ce code? Est-ce sur un cadre ou est-ce dans un fichier séparé? Vous devez vraiment expliquer un peu plus sur la configuration de votre jeu avant que quiconque puisse vous donner des conseils judicieux. –

Répondre

0

Si tout votre code se passe sur la timeline d'un MovieClip vous pouvez stocker l'gameTime en tant que membre du movieclip plutôt que dans une ligne de temps var. Ceci est possible car MovieClip est une classe 'ouverte', elle vous permet d'ajouter des membres (variables, fonctions) à des instances.

donc au lieu de

var gameTime:uint; 
gameTime = getTimer()-gameStartTime; 

vous devez utiliser « ceci » pour faire référence à la MovieClip actuelle, alors utilisez:

this.gameTime = getTimer() - gameStartTime; 

maintenant vous pouvez this.gameTime référencer sur d'autres cadres dans votre MovieClip pour lire la valeur.

En général, je ne suggérerais pas de programmer votre code de jeu comme ceci - quand votre code commence à croître, il vaut mieux ajouter un fichier qui contient le code sinon vous perdrez rapidement la trace de ce qui est là, lisez http://www.adobe.com/devnet/flash/quickstart/external_files_as3/ une introduction rapide.