2016-12-17 2 views
0

Ich arbeite an einem Zeitlimit-Spiel, aber wenn ich das Spiel lade und es das Zeitlimit überschreitet, erreicht es Null, aber es ist nicht auf die nächste Szene gerichtet, wo ich haben das Spiel über .. dies ist der Code, derIch brauche Zeitlimit Hilfe in ActionScript3.0

var tiempo:int; 
var Duracion:int; 


Duracion = 7; 
tiempo = Duracion; 
var timer:Timer = new Timer(1000,Duracion); 
timer.addEventListener(TimerEvent.TIMER, tiempo2); 
timer.addEventListener(TimerEvent.TIMER_COMPLETE, fin) 
timer.start(); 


function tiempo2(tiempoevent:TimerEvent):void 
{ 
    trace(tiempo); 

    tiempo--; 

    time.text = tiempo.toString(); 

} 

function fin(tiempoevent:TimerEvent):void 
{ 
    var timer:Timer = tiempoevent.target as Timer; 
    timer.removeEventListener(TimerEvent.TIMER, tiempo2) 
    timer.removeEventListener(TimerEvent.TIMER, fin) 


} 

platziert ist, wie ich über auf die Szene des Spiels gerichtet zu sein ... ich auf belebter cc arbeite ...

+1

Mögliche Duplikat [Necesito ayuda en ActionScript3.0] (http://stackoverflow.com/ Fragen/41201497/necesito-ayuda-de-actionskript3-0) –

+0

Sie müssen die vorherige Frage bearbeiten nicht neue für kleine Änderungen zu veröffentlichen, wurde der vorherige Beitrag bearbeitet, damit Sie wissen, wie Sie sie bearbeiten! –

+0

Ich stimme zu, diese Frage als Off-Topic zu schließen, weil Sie zwei identische Fragen geschrieben haben: http://stackoverflow.com/questions/41201497/i-need-help-in-actionscript3-0 –

Antwort

1

Wenn Timer endet, fin Funktion wird ausgeführt. einfach diese Zeile in einer anderen Szene zu gehen:

function fin(tiempoevent:TimerEvent):void 
{ 
    var timer:Timer = tiempoevent.target as Timer; 
    timer.removeEventListener(TimerEvent.TIMER, tiempo2); 
    timer.removeEventListener(TimerEvent.TIMER_COMPLETE, fin); 

    gotoAndPlay("GameOver", 1); 
} 

Hier vollständigen Code vereinfacht:

var duracion:int = 7; 
var timer:Timer = new Timer(1000, duracion); 

timer.addEventListener(TimerEvent.TIMER, onTimerTick); 
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerFin); 
timer.start(); 

function onTimerTick(event:TimerEvent):void 
{ 
    var timeLeft:int = timer.repeatCount - timer.currentCount; 

    time.text = String(timeLeft); 
} 

function onTimerFin(event:TimerEvent):void 
{ 
    timer.removeEventListener(TimerEvent.TIMER, onTimerTick); 
    timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerFin); 

    //go to scene named "GameOver" on frame 1 
    gotoAndPlay("GameOver", 1); 
} 
+0

Danke aber es tut es nicht arbeite für mich noch 'gotoAndPlay (" GameOver ", 1);' – Alexander

+0

Warum? Was geschieht? Es sieht so aus, als ob du den Timer nicht startest, siehst du Trace (tiempo) wenn es läuft? – Nemi

+0

Überprüfen Sie meine verbesserte Antwort. Auch bei Zeile: 'timer.removeEventListener (TimerEvent.TIMER, fin)' sollte es '.TIMER_COMPLETE' nicht' .TIMER' sein. – Nemi