トップページ > 過去ログ > 記事閲覧
おねがいします。
名前:だけだけ 日時: 2009/12/02 23:16

初心者です。戦闘シーンへ移る方法なんですがswitch文を使えばいいのかそのまま裏画面を元に戻すのかがわからないです><。ご教授おねがいいたします。

Page: 1 |

Re: おねがいします。 ( No.1 )
名前:sy(サイ) 日時:2009/12/03 00:08

RPGかなんかでしょうか?普通はシーン切り替えを用います。 switch文を使用します。 初めから列挙型かなんかで「フィールド」「バトル」「メニュー」と分類するための定数を定義します。 そして、処理もそれに合わせて予め3つに切り分けておきます。 あとは、行動によって列挙型の定数を変更しswitch文で行う処理を移行します。 このシーン切り替えの時にフェードなどを行うとよりキレイです。
Re: おねがいします。 ( No.2 )
名前:らり 日時:2009/12/03 00:13

もう少し、質問したい内容を具体的にしてください。 そのままでは答えにくいです。 タイトルも、ひと目で質問内容が分かるものの方がいいですよ。 後で、似たような質問をしたい人が、過去ログを探しやすくなります。 一応、シーンごとの描画をどう切り替えるか?という話と解釈します。 他の方がどうされてるか分かりませんが、 私は現在描画するシーンを変数で選択する形にしています。 int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ if( DxLib_Init() == -1 )return -1; // 描画先画面を裏にする SetDrawScreen( DX_SCREEN_BACK ) ; //描画シーン指定変数を宣言 int mode=0; //メインループ while(1){ // 画面初期化 ClearDrawScreen(); //現在のモードにあわせて、描画シーンを選ぶ if(mode==0){ //===シーン0の描画===// //シーン1へ移行するとき if(条件)mode=1; }else if(mode==1){ //===シーン1の描画の場合===// //シーン0へ移行するとき if(条件)mode=0; }else{ //===それ以外の描画の場合===// } // 裏画面の内容を表画面にコピー ScreenFlip(); //プロセス処理 if(ProcessMessage()<0)break; //ループの速度を調節 WaitTimer(20); } DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 }
Re: おねがいします。 ( No.3 )
名前:だけだけ 日時:2009/12/03 00:43

ありがとうございます^^ さっそくやってみようとおもったのですが program still running? がでてきてえらーになります。まだ、プログラムが動いてますよっていうかいしゃくであってるでしょうか??
Re: おねがいします。 ( No.4 )
名前:だけだけ 日時:2009/12/03 14:14

ピンポイントで答えていただきありがとうございました。サイさんとラリさんには感謝でいっぱいです^^。program still running?これについては、1度シャットダウンするとかいけつしました。もし、また質問するきかいがあればよろしくおねがいしたいです。><

Page: 1 |