ページ 11

HPバーの実装方法について

Posted: 2010年2月24日(水) 23:34
by no
HPバーの実装方法についてです。
敵の最大HPを棒状にして、減るごとに棒が削れていくような仕様を自分なりに考えたのですが、
かなり無理やりでして、スマートさが微塵も感じられません。
以下に、私の実装方法を示します。


hppar = (100 - ( 敵の現在のHP / 敵の最大HP * 100) * -4;
DrawGraph( hppar , 10 ,HPバーの画像,FALSE);

初めHPバーが (0,10) に表示されていて、
敵のHPが n % 減るごとにHPバーを (-4n , 10) に表示する、というものです。
わかりにくいので視覚的に理解できる画像を張っておきます。(雑絵ですが……)


まあ形にはなっていますが、可視領域と不可視領域を使っているで不可視領域を使用できない場所に
hpバーを実装することができません。

考えだけでもよいので、何かよい方法があればご教授願います。



*(以前のいくつかの質問に対し謝辞が遅れました。申し訳ないです)

Re:HPバーの実装方法について

Posted: 2010年2月24日(水) 23:41
by 通りすがり
サンプルプログラミングの館にRPGのサンプルやメーターのサンプルがありますよ。

http://dixq.net/sm/

Re:HPバーの実装方法について

Posted: 2010年2月25日(木) 13:09
by yu
DrawExtendGraph関数 等を使って描画する幅を狭めていけば良いかもしれません。
今は真っ白なゲージだから大丈夫ですが、
模様があったりすると画像が圧縮されていくように見えるので注意してください。

DXライブラリ - リファレンスページ - DrawExtendGraph
http://homepage2.nifty.com/natupaji/DxL ... .html#R3N9

Re:HPバーの実装方法について

Posted: 2010年2月26日(金) 23:33
by no
とおりすがりさん
なるほど、こちらにあったのですね。
参考にしてみます。

yuさん
単色でしたら問題なさそうですね。
ありがとうございます。