C A L E N D A R
プロフィール
ADMIN:Kuar メール kuar☆ mail.goo.ne.jp(メッセ対応) スカイプ kuar_s HP http://sora-blue.net/~kuar/index.html mixi http://mixi.jp/show_profile.pl?id=10917408
最新記事
(08/07)
(02/21)
(01/04)
(12/23)
(04/11)
カウンター
ブログ内検索
アーカイブ
|
無題
体力ゲージって難しくね?
とりあえず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
TRACKBACK
この記事のURL▽ この記事のトラックバックURL▽
|
CopyRight (c) のなちす All Right Reserevd. |