0

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

健康栏

有任何想法吗 ?

4

1 回答 1

1

我的建议如下:

假设 MouseClick 是被忍者攻击的英雄。如果您使用此代码,则需要创建 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;
}
于 2013-07-13T14:58:58.783 回答