我想知道如何在AS3中添加游戏计时器,我为敌人的怪物制作了一个健康栏,一旦暴徒受到攻击,健康栏就可见了。我需要添加一段代码,如果Enemy没有被攻击5秒,healthBar.visible = false;
但我不知道如何处理AS3中的时间
任何想法?
答案 0 :(得分:1)
我的建议如下:
假设MouseClick是Ninja攻击英雄。如果您使用此代码,则需要创建Class或fit类型。我刚刚编写了骨架代码。
import flash.events.MouseEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;
stage.addEventListener(MouseEvent.CLICK, onAttacked);
var isAttacked:Boolean;
var timer:Timer = new Timer(100,50);
var alphaCount:Number = 1.0;
timer.addEventListener(TimerEvent.TIMER, onTick);
function onAttacked(e:MouseEvent):void
{
isAttacked = true;
timer.start();
}
function onTick(e:TimerEvent):void
{
alphaCount = 1.0 - ( 2 * timer.currentCount ) / 100;
if(!isAttacked)
{
goFadeStatusBar();
}
else
{
restoreStatusBar();
alphaCount = 1.0;
timer.reset();
timer.start();
isAttacked = false;
}
}
function goFade():void
{
bar.alpha = alphaCount;
}
function restore():void
{
bar.alpha = 1;
}