トップページへ
 攻撃とダメージ処理
・ライフゲージ   | 利用規約 | 使い方 | 操作方法 |
■説明
自機のライフゲージをつけました。リアルタイムに残りHPを確認することができます。敵からダメージを受けると、自動的にライフゲージとHPの数値が変わっていきます。

■参考
自機の移動 - ハシゴ動作
攻撃動作とダメージ - 敵の攻撃動作
攻撃動作とダメージ - 自機のダメージ
攻撃動作とダメージ - ダメージ値表示
アイテム - 体力回復

■解説
1.ライフゲージの描画位置

 ライフゲージを描くに当たり、描画位置を定点に固定するため、次の4点の位置を
 決めていきます。

    A. HPの数値表示座標 (x0,y0)
    B. ライフゲージの左上座標(x1,y1)
    C. ライフゲージ青枠の右下座標(x2,y2)
    D. ライフゲージ白枠の右下座標(x3,y3)

 

2.値の代入
  ◆(x0,y0)と(x1,y1)の代入
       ox=$viewX; oy=$viewY;
       x0=ox+10; y0=oy+10;
       x1=ox+75; y1=oy+12;
  常に定数固定なので簡単だと思います。

  ◆(x2,y2)と(x3,y3)の代入
       g_length=100;
       g_width=20;
       x2=x1+g_length; y2=y1+g_width;
       if ($Mychar.isDead()==0) x3=x1+($Mychar.HP/$Mychar.MHP)*g_length;
       if ($Mychar.isDead()!=0) x3=x1;
       y3=y2;

  ・g_lengthはライフゲージの長さ、g_widthは幅の意味です。(x2,y2)は(x1,y1)に長さと
   幅を足して、常に固定にします。
  ・x3は自機のHPによって常に動く変数です。現在のHP($Mychar.HP)と
   最大HP($Mychar.MHP)の比をとり、g_lengthをかけることで、g_lengthに対する比に
   置き換えています。
  ・自機が死んだ場合は$Mychar.MHPがゼロになり、ゼロによる除算でエラーになる
   ため、if ($Mychar.isDead()!=0)の文で x3をx1に置き換えます。





トップページへ