是否有一种简单的方法来阻止舞台?

时间:2017-02-02 17:03:42

标签: actionscript-3 flash

我希望在主时间结束时显示“time is up”影片剪辑。然后在3秒倒计时结束时进入特定帧。我使用remove事件监听器,但我会为所有监听器编写代码和所有级别。有一个简单的方法吗?

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;

但它要慢,如果计时器在移动到物体时停止,那么我会收到错误。

1 个答案:

答案 0 :(得分:0)

停止();在你的主脚本中 在此处查看不同的实施方案Stop the main timeline from within a Class function