ページ 11

右に出る数字を消したい

Posted: 2010年8月17日(火) 17:19
by めれん
見てくださってありがとうございます。プログラミングの館さんの方で今、ファイルをDLさせてもらって色々いじって変えていって作ってみてるんですが、50章をデバックした時に出る画面でScoreとかManeyとかその下の数字とか、左にも出る数字ってありますよね。それを全部なくしたいんですが、どうやったら出来るでしょうか?どこを消せばいいか見てみてもわからなくて・・; こんなこと言って申しわけないのですが、良かったら教えて下さい;

Re:右に出る数字を消したい

Posted: 2010年8月17日(火) 17:33
by シエル
graph.cppあたりを見て、ボードとかの描画処理を実行しないようにすればたぶん
上手くいくと思いますが。

しっかり見てないので、違ったらすいません。

Re:右に出る数字を消したい

Posted: 2010年8月17日(火) 17:45
by softya
いきなり50章に手をつけるより途中の「スコアボードを表示しよう」を理解したほうが良いと思いますが。

Re:右に出る数字を消したい

Posted: 2010年8月17日(火) 18:06
by 筑前煮
ただ単に表示を消したいならmain.cppの
enter_func_tmを削除するなりコメントアウトするなりすればいいかと。

スコア側はあまりいじってないのでわかりませんが、graph.cppに表示する処理が書いてあったのでその辺をいじってみてください。 画像

Re:右に出る数字を消したい

Posted: 2010年8月18日(水) 00:50
by めれん
シエルさんのアドバイスから、
graph.cppで見てみたんですが、ボードの描画って

//スコアボード表示(41)
void graph_board_states(){
int i;
int score=ch.score;
int power=ch.power;
int graze=ch.graze;
int point=ch.point;
int money=ch.money;

for(i=0;i<9;i++){//スコア表示
DrawRotaGraph(625-15*i,30,1.0f,0.0f,img_num[0][score%10],TRUE);
DrawRotaGraph(625-15*i,50,1.0f,0.0f,img_num[0][score%10],TRUE);
score/=10;
}

for(i=0;i<ch.num;i++)//残機数表示
DrawGraph(499+12*i,63,img_etc[8],TRUE);
DrawRotaGraph(547,91,0.9f,0.0f,img_num[0][power%10],TRUE);power/=10;
DrawRotaGraph(536,91,0.9f,0.0f,img_num[0][power%10],TRUE);power/=10;
DrawRotaGraph(513,91,1.0f,0.0f,img_num[0][power%10],TRUE);
DrawString(522,82,".",color[0]);//チョン

for(i=0;i<6;i++){//グレイズ表示
DrawRotaGraph(578-14*i,111,1.0f,0.0f,img_num[0][graze%10],TRUE);
graze/=10;
}

for(i=0;i<4;i++){//ポイント表示
DrawRotaGraph(550-14*i,131,1.0f,0.0f,img_num[0][point%10],TRUE);
point/=10;
}

for(i=0;i<6;i++){//マネー表示
DrawRotaGraph(578-14*i,154,1.0f,0.0f,img_num[0][money%10],TRUE);
money/=10;
}
}

//ボード描画
void graph_board(){
DrawGraph( 0, 0,img_board[10],FALSE);
DrawGraph( 0, 16,img_board[11],FALSE);
DrawGraph( 0,464,img_board[12],FALSE);
DrawGraph(416, 0,img_board[20],FALSE);

graph_board_states();//(41)
}

ここですよね・・、これ全部消すと、エラーが発生してしまうと思うのですが、筑前煮さんが言うように描画処理を実行しないようにするんみはどうしたら良いでしょうか・・。本当に初心者でごめんなさい; softyaさんの言われたとおり、スコアボードも見てみて、追加や変更している場所をいじってみたんですが、僕のやり方が駄目なみたいでエラーになってしまいました; すみません・・

Re:右に出る数字を消したい

Posted: 2010年8月18日(水) 06:50
by ぬるぽ
数字の部分に関しましては
// graph_board_states();
の部分をコメントアウトしますと消えます。

こうしても構いません。
//スコアボード表示
void graph_board_states(){
//int i;
//int score=ch.score;
//int power=ch.power;
//int graze=ch.graze;
//int point=ch.point;
//int money=ch.money;
//
//for(i=0;i<9;i++){//スコア表示
// DrawRotaGraph(625-15*i,30,1.0f,0.0f,img_num[0][score%10],TRUE);
// DrawRotaGraph(625-15*i,50,1.0f,0.0f,img_num[0][score%10],TRUE);
// score/=10;
//}
//
//for(i=0;i<ch.num;i++)//残機数表示
// DrawGraph(499+12*i,63,img_etc[8],TRUE);
//DrawRotaGraph(547,91,0.9f,0.0f,img_num[0][power%10],TRUE);power/=10;
//DrawRotaGraph(536,91,0.9f,0.0f,img_num[0][power%10],TRUE);power/=10;
//DrawRotaGraph(513,91,1.0f,0.0f,img_num[0][power%10],TRUE);
//DrawString(522,82,".",color[0]);//チョン

//for(i=0;i<6;i++){//グレイズ表示
// DrawRotaGraph(578-14*i,111,1.0f,0.0f,img_num[0][graze%10],TRUE);
// graze/=10;
//}
//
//for(i=0;i<4;i++){//ポイント表示
// DrawRotaGraph(550-14*i,131,1.0f,0.0f,img_num[0][point%10],TRUE);
// point/=10;
//}
//
//for(i=0;i<6;i++){//マネー表示
// DrawRotaGraph(578-14*i,154,1.0f,0.0f,img_num[0][money%10],TRUE);
// money/=10;
//}
}


ボードに関してましては
// DrawGraph( 0, 0,img_board[10],FALSE);
// DrawGraph( 0, 16,img_board[11],FALSE);
// DrawGraph( 0,464,img_board[12],FALSE);
// DrawGraph(416, 0,img_board[20],FALSE);
の部分をコメントアウトしますと消えます。

ボードは残してScoreとかManeyとかの文字だけを消すことはできません。
dat/img/board/20 の場所に置いてある画像を見れば分かると思いますが
ボードと文字が一緒になってます。

文字とボードを分けたいのであれば、
フォトショップ等で自分でボードを作り、文字も自分で作りましょう。

Re:右に出る数字を消したい

Posted: 2010年8月18日(水) 06:52
by シエル
おそらくエラーになるのは、消したコードをどこかで呼び出そうとしているからです。

上のコードで言うと、
下記のようにgraph_board_statesをコメントアウトするだけで、描画されないようになるのではないでしょうか?

void graph_board(){
DrawGraph( 0, 0,img_board[10],FALSE);
DrawGraph( 0, 16,img_board[11],FALSE);
DrawGraph( 0,464,img_board[12],FALSE);
DrawGraph(416, 0,img_board[20],FALSE);

//graph_board_states();//(41)
}


※あくまで予想です。間違っているかもしれません。

Re:右に出る数字を消したい

Posted: 2010年8月18日(水) 09:24
by softya
今後更に修正を考えているなら、C言語の基本を勉強されたほうが良いと思います。この問題が解決したとしてもすぐに行き詰まりますよ。

Re:右に出る数字を消したい

Posted: 2010年8月18日(水) 11:38
by 通りすがり
何故全く内部の仕組みがわからないのにデバッグ用の文字だけ消したいのですか?

何かの課題などで提出するつもりなんでしょうか?

Re:右に出る数字を消したい

Posted: 2010年8月20日(金) 20:15
by めれん
ぬるぽさん、シエルさん
ありがとうございます!
参考に消してみたら出来ました!

Sofiyaさん
そうですね・・もっと勉強します・・;

通りすがりさん
いえ、課題ではないんですが個人的に色々変えて遊んでみたいなあと思いまして・・・。