-1

こんにちは、私は ActionScript 3.0 の初心者で、本当に助けが必要です :P タイミング (?) ゲームのようなものを作ろうとしています。基本的に、このヘルスはランダムに減衰することになっており、プレイしている人はヘルスが 1000 に達したときにボタンをクリックする必要があります。

ヘルスバーを作成し、ボタンをクリックするとダウンするようにしましたが、ヘルスバーが時間とともに減衰するようにするにはどうすればよいですか?

最大ヘルスは 10000 で、ヘルスが 0.1 秒あたり 80 ~ 90 (ランダム) になることを願っています。

これは私がこれまでに作成したコードです

var maxHP:int = 10000;
var currentHP:int = maxHP;
var percentHP:Number = currentHP / maxHP;
var randNum:Number=Math.floor(Math.random()*1000)+900;

function updateHealthBar():void
{
percentHP = currentHP / maxHP;
healthBar.barColor.scaleX = percentHP;
}

function attackHealth():void
{
for(currentHP = maxHP; currentHP > 0; currentHP-= 1)
{
    updateHealthBar();
}
}

attackButton.addEventListener(MouseEvent.CLICK, attackButtonClicked);

function attackButtonClicked(e:MouseEvent):void
{
currentHP -= 800;
if(currentHP <= 0)
{
    currentHP = 0;
    trace("You died! :P");
}
setInterval(attackHealth, 500);
updateHealthBar();

}
4

1 に答える 1

0

タイマーが使える

import flash.events.TimerEvent;
import flash.utils.Timer;

//it will trigger every 100ms and keep repeats indefinitely
 var t:Timer = new Timer(100);
 t.addEventListener(TimerEvent.TIMER, onTimer);


  private function onTimer(event:TimerEvent):void {
       var damage:int = 80 + int(Math.random()*11); //[80, 90]

       //do something with damage

  }
于 2013-10-26T12:40:18.693 に答える