2013-07-13 90 views
0

我想知道如何在AS3中添加遊戲計時器,我爲敵方的暴徒製作了一個健康欄,一旦暴徒受到攻擊,健康欄就可以看到。我需要添加一段代碼,其如果敵人沒有攻擊5秒,healthBar.visible = false;但我不知道如何在AS3如何在AS3中添加計時器

Healthbar

任何想法處理時間?

+0

你嘗試過什麼?你有任何代碼?有很多方法。我想支持你的想法。 –

+0

是的,我有我的代碼,一切都很好,一旦忍者受到攻擊,他就會輸掉HP。點是我需要知道如何使5分鐘後生命棒淡化。 P.S.健康欄是一個普通的MovieClip – victory

回答

1

我的建議如下:

假定MouseClick是Ninja攻擊英雄。如果您使用此代碼,則需要創建類或適合類型。我只是寫了骨架代碼。

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