ページ 11

スコア表示の仕方

Posted: 2008年7月29日(火) 01:19
by kuro3231
はじめまして。
シューティングゲームの館を参考にゲームを作っています。
スコアの表示の仕方が分かりません。
0~9の画像(横に並んでいる)を LoadDivGraph を使って分割し、DrawGraph で表示する方法だと思います。
例)
int score=123;
int x=100,y=100; //描画する座標
int num[10];
LoadDivGraph( "suuji.png" , 10 , 1 , 10 , 16 , 16 , num );
scoreを分割した画像で 123 と表示するにはどうしたらいいのでしょうか?
環境はWindowsVista、VC++2008EEです。
よろしくお願いします<(_ _)>

Re:スコア表示の仕方

Posted: 2008年7月29日(火) 01:50
by 管理人
例えば
1の位は「1で割って10のあまり番号の画像を表示」でいいですよね。
10の位は「10で割って10のあまり番号の画像を表示」でいいですよね。
100の位は「100で割って10のあまり番号の画像を表示」となるわけです。

これを上の桁が0になるまでループさせたらいいわけです。

Re:スコア表示の仕方

Posted: 2008年7月29日(火) 22:22
by kuro3231
返信ありがとうございます。
意味は理解できましたが、計算結果の変数が必要でしょうか?
DrawGraph(x,y,num[計算結果],TRUE);
↑のようにすれば出来ると思います。

計算したいのですが、各位の取り方がわかりません。
(計算結果 = 1の位の値 / 1)
よろしくお願いします。

Re:スコア表示の仕方

Posted: 2008年7月29日(火) 23:00
by 経歴2ヶ月
>計算したいのですが、各位の取り方がわかりません。
>(計算結果 = 1の位の値 / 1)

管理人さんの言う通り・・・

int dt; //数値データ(演算結果)
//1の位の値の場合
dt = (score/1)%10 // %=演算子(知らなそうなのでググってみてもいいかも)
//10の位の値の場合
dt = (score/10)%10

あとはX座標を数字画像の幅分移動させて表示していけば良いと思います。

Re:スコア表示の仕方

Posted: 2008年7月29日(火) 23:23
by kuro3231
ちゃんと表示されました。
管理人さん、経歴2ヶ月さんありがとうございました。<(_ _)>