有没有一种简单的方法可以停止舞台



我想在主要时间结束时显示"时间已到"影片剪辑。然后在 3 秒倒计时结束时转到特定帧。我使用删除事件侦听器,但我必须为所有侦听器和所有级别编写代码。有没有简单的方法可以做到这一点?

import flash.net.SharedObject;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.TouchEvent;
import flash.ui.Multitouch;
import Turn;
import ScoreHolder;
 
timeisup.visible = false ;
 
//This timer start when the main timer stop.
var threesecond:Timer = new Timer(3000,0);
 
////MAIN TIMER
var minute:Number = 0;
var second:Number = 15;
 
//This timer check to timer and set to what happen if time over.
var timercheck:Timer = new Timer(1000,0);
timercheck.addEventListener(TimerEvent.TIMER, timercheck1);
timercheck.start();
 
function timercheck1(evt:TimerEvent):void {
if (minute <1 && second <1)
{
timer.stop();
timeisup.visible = true;
timeisup.play();
threesecond.start();
 
stage.removeEventListener(Event.ENTER_FRAME, h1);
stage.removeEventListener(Event.ENTER_FRAME, h2);
stage.removeEventListener(Event.ENTER_FRAME, h3);
stage.removeEventListener(Event.ENTER_FRAME, h4);
stage.removeEventListener(Event.ENTER_FRAME, h5);
    } 
}
 
////What gonna happen to when threesecond over
threesecond.addEventListener(TimerEvent.TIMER, zamanbittia);
 
function zamanbittia(evt:TimerEvent):void 
{
gotoAndPlay(392);       
} 
 
// Create the timer
// Checks the clock function every 1000 milisecond (1 second)
 
var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, clock);
timer.start();
 
// Function that increments the timer
function clock(evt:TimerEvent):void { 
// every time this function is checked increment second by one
second -= 1;
// If the second is 59
if(second < 0){
// The minute will be plussed with 1
minute -= 1;
//and the zero will be set to 00
second = 59;
}

我也试过

stage.frameRate = 0.01;

但它是要放慢速度,如果计时器在移动到对象时停止,那么我会收到错误。

stop(); 在你的主脚本中在此处查看不同的实现方案 从类函数中停止主时间线

最新更新