我已經創建了一個欄,它在框架1上已滿,然後在框架100上爲空,並且已將它製作爲補間形狀。我想創建一個代碼,當我按下某個按鈕時,它將耗盡酒吧,因此只要按住某個按鈕,框架就從1變爲1,直到達到100。幀數等於數字 - 健康欄
我在想辦法做到這一點,但似乎不可能。
var maxHP:int = 100;
var currentHP:int = maxHP;
var percentHP:Number = currentHP/maxHP;
我想percentHP var等於酒吧,所以它達到50,它會達到50幀,等等。
這是正確的方式去做這個?
謝謝。
下面是我在下面試圖解決的代碼中使用的變量。另外,我創建的遊戲有多個角色,所以我指的是在幾個動畫片段內。
基本上,當人物雙跳時,它會飛起來,酒吧消耗殆盡。一旦酒吧消耗到0(或百分比HP爲0),那麼它應該結束飛行。之後,我想讓酒吧加班加點100加元。
var percentHP = Number(Bar.CBar.CMana_bar.currentFrame)/Number(100);
var gravityConstant:Number = 1;
var doubleJumpReady:Boolean = false;
var flyingJump:Boolean = false;
var upReleasedInAir:Boolean = false;
function loop(e:Event):void{
//Flying
if(upReleasedInAir == true){ // if the player releases the up arrow key
upReleasedInAir = false; // set the variable to true
}
if(doubleJumpReady == false){
doubleJumpReady = true;
}
} else { //if we are not touching the floor
ySpeed += gravityConstant; //accelerate downwards
//Flying
if(upPressed == false && upReleasedInAir == false){
upReleasedInAir = true;
//trace("upReleasedInAir");
}
if(doubleJumpReady && upReleasedInAir){
if(upPressed){ //and if the up arrow is pressed
flyingJump = true;
//trace("doubleJump!");
doubleJumpReady = false;
ySpeed = jumpConstant + 8; //set the y speed to the jump constant
gravityConstant = 0;
Bar.CBar.CMana_bar.play();
//trace(percentMP);
}
}
if(Bar.CBar.CMana_bar.currentFrame == 100 && percentHP == 0){
gravityConstant = 1;
Bar.CBar.CMana_bar.stop();
flyingJump = false;
doubleJumpReady = false;
}
感謝您的答案。我是否應該更改percentHP var使其等於bar.currentFrame?我認爲我現在面臨的問題是百分比HP等於兩個不同的東西。你所擁有的代碼對我來說非常有意義。 – Bindlestick
@Bindlestick當然,爲什麼不呢? –
每當我嘗試讓var等於currentFrame時,我會得到可怕的錯誤1009。 – Bindlestick