【问题标题】:I need time limit help in ActionScript3.0我需要 ActionScript 3.0 中的时间限制帮助
【发布时间】:2017-05-03 07:37:26
【问题描述】:

我正在开发一个时间限制游戏,但是当我加载游戏并且它超过了设置的时间限制时,它会达到零,但它没有被定向到我结束游戏的下一个场景......这是放置的代码

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)


}

当我被引导到游戏结束的场景时……我正在制作动画 cc……

【问题讨论】:

标签: actionscript-3 flash


【解决方案1】:

当 Timer 结束时,fin 函数将被执行。 只需添加此行即可转到另一个场景:

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);
}

这里是完整的代码简化:

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);
}

【讨论】:

  • 谢谢,但它对我不起作用gotoAndPlay("GameOver", 1);
  • 为什么?发生什么了?看起来你没有启动计时器,你在运行时看到 trace(tiempo) 吗?
  • 检查我改进的答案。同样在线:timer.removeEventListener(TimerEvent.TIMER, fin) 应该是 .TIMER_COMPLETE 而不是 .TIMER
  • 也许 GameOver 场景有更多帧并且它一直在播放,如果是,试试gotoAndStop() ?
  • 现在没有错误:ArgumentError:错误 #2109:在场景 GameOver 中找不到帧标签 GameOver。在 flash.display::MovieClip/gotoAndPlay() 在 bolafinal_fla::vCam_7/onTimerFin() 在 flash.events::EventDispatcher/dispatchEventFunction() 在 flash.events::EventDispatcher/dispatchEvent() 在 flash.utils::Timer/ tick() 即使我这样说:gotoAndPlay(1,"GameOver");gotoAndPlay("GameOver" ,1); 总是给我同样的错误
猜你喜欢
  • 2017-05-03
  • 1970-01-01
  • 2011-08-07
  • 1970-01-01
  • 2016-06-25
  • 1970-01-01
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
相关资源
最近更新 更多