如何在AS3中添加Timer

时间:2013-07-13 14:19:59

标签: actionscript-3 flash

我想知道如何在AS3中添加游戏计时器,我为敌人的怪物制作了一个健康栏,一旦暴徒受到攻击,健康栏就可见了。我需要添加一段代码,如果Enemy没有被攻击5秒,healthBar.visible = false;但我不知道如何处理AS3中的时间

Healthbar

任何想法?

1 个答案:

答案 0 :(得分:1)

我的建议如下:

假设MouseClick是Ninja攻击英雄。如果您使用此代码,则需要创建Class或fit类型。我刚刚编写了骨架代码。

Download Source

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