忍者ブログ
ADMINNEW ENTRY
C A L E N D A R
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

HP→http://sora-blue.net/~kuar/index.html
No.286 No.285 No.284 No.283 No.282 No.281 No.280 No.279 No.278 No.277 No.276
2024-03-29(Fri)
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2008-12-05(Fri)
無題
体力ゲージって難しくね?
とりあえずHPの数値をゲージのドット分まで圧縮するプログラム。
(最大HP) ÷ (ゲージのドット数)

これでいくらで割ればゲージぴったりに圧縮できるかが分かる。
んでここで出た数値で最大値を割ってやれば完成。

double HPCompression = (double)PlayerMaxHP / 60;
double MPCompression = (double)PlayerMaxMP / 60;

HPGage = (int)(PlayerMaxHP / HPCompression);
MPGage = (int)(PlayerMaxMP / MPCompression);
   
if (HPGage == 59)
  HPGage ++;
if(MPGage ==59)
  MPGage ++;

あくまで整数にしないとゲージは小数点はエラー吐くからintにするけど
59とか61とか出てくるので微調整。

が、ダメージ量をゲージ化できない。
なぜかっつーと小数点がでまくりんぐ。
四角のオブジェクトが小数点とかでもいいのならば出せるのだろうけど割合をダメージ化させるわけだから小数点しかでねー
小数点が出た分だけHPとHPゲージとの差ができてしまってちぐはぐでNG
どうでもいいけどネストより条件演算式使った方がいいね。

if (damage > 0){
 double aaa = (double)damage / PlayerMaxHP * 60;

 if (PlayerHP > 0){
  PlayerHP -= damage;
  HPGage -= aaa;
 }
 System.out.println(PlayerHP + ":" + HPGage + ":" + aaa);//デバッグ用
}


>>二方
このままで落ち着いた。formatはそのうちするだろうけど
PR



・C O M M E N T
  • この記事へのコメント投稿フォームです。


  • Name:
    Title:
    Mail:
    Url:
    Color:
    Decoration:
    Vodafone絵文字 i-mode絵文字 Ezweb絵文字
    Message:
    Pass:
    ※編集時に必要です。


    TRACKBACK
    • この記事のURLとトラックバックURLです。
    • 必要に応じてご使用くださいませ。
    この記事のURL▽
    この記事のトラックバックURL▽
    No.286 No.285 No.284 No.283 No.282 No.281 No.280 No.279 No.278 No.277 No.276

    Powered by NinjaBlog. Template by うさねこ.
    忍者ブログ[PR]