パワーメーターの作り方

パワーメーター

スプライトの幅を、HPと連動させることによって作ります。

まず、パワーメーターを設置します。

 // (1)パワーメーター
 var pMeter = new ExSprite(310, 10);
 pMeter.x = 5;
 pMeter.y = 5;
 pMeter.backgroundColor = "lightgreen";
 scene.addChild(pMeter);
 pMeter.originX = 0; 

ボスのHPの初期値は10とします。

 boss.hp = 10;

ボスのHPが1減るごとに、パワーメーターの幅が10分の1ずつ減るようにするには、パワーメータの幅を、boss.hpの値の10分の1の値の倍率にします。

(考え方:HPが10→9になったら、パワーメーターの幅を10分の9(9割)の幅、8になったら8割の幅、7なら7割の幅‥(以下同様)なので、パワーメーターの幅を、HPの10分の1のスケールの倍率にすればよい)

 // 判定
 function judge(){
 ・・・
    // (2)パワーメーターの幅を計算
    pMeter.scaleX = boss.hp / 10;
 }

さらに、このままではHPに制限がなく、パワーメーターも無限に伸びてしまうので、boss.hpに制限をかけるには、当たり判定のところで、以下のようにします。(0以上10以下の範囲で制限)

 // 当たり判定
 boss.addEventListener(Event.COLLISION, function(e){  
     // ボスにヒット
     boss.hp += e.collision.target.power;
     if(boss.hp < 0){
         boss.hp = 0;
     }
     if(boss.hp > 10){
         boss.hp = 10;
     }
     // 弾を消す
     e.collision.target.remove();
 });