フレーム 1 でいっぱいになり、フレーム 100 で空のバーを作成し、シェイプ トゥイーンにしました。特定のボタンを押すとバーがなくなるコードを作成したいので、特定のボタンが押されている限り、フレームは 1 から 100 に達するまで続きます。
どうにかしようかと考えていたのですが、無理そうです。
var maxHP:int = 100;
var currentHP:int = maxHP;
var percentHP:Number = currentHP / maxHP;
percentHP 変数をバーと等しくしたいので、50 になるとフレーム 50 に到達します。
これは正しい方法ですか?
ありがとう。
以下は、修正しようとしているコードで使用されている変数です。また、私が作成しているゲームには複数のキャラクターが含まれているため、参照しているバーは 2 つのムービークリップ内にあります。
基本的にキャラクターが二段跳びをすると飛んでいてバーが減っていきます。バーが 0 になると (または PercentHP が 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;
}