トップページ > 過去ログ > 記事閲覧
メニュー選択画面
名前:名無しさん 日時: 2010/05/30 16:01

以下のようなプログラムを組み、”はじめから”を選択した場合にWHILEを抜けるように書いたのですが、うまくいきませんでした。 どなたかご指摘をお願いいたします。 switch(point) { case 0: DrawGraph( 450 , 200 , SERECT[3] , TRUE ) ;//はじめから(黄色)の画像を描画 DrawGraph( 450 , 230 , SERECT[1] , TRUE ) ;//つづきから(白)の画像を描画 DrawGraph( 450 , 260 , SERECT[2] , TRUE ) ;//おわり(白)の画像を描画 break; case 1: DrawGraph( 450 , 200 , SERECT[0] , TRUE ) ;//はじめから(白)の画像を描画 DrawGraph( 450 , 230 , SERECT[4] , TRUE ) ;//つづきから(黄色)の画像を描画 DrawGraph( 450 , 260 , SERECT[2] , TRUE ) ;//おわり(白)の画像を描画 break; case 2: DrawGraph( 450 , 200 , SERECT[0] , TRUE ) ;//はじめから(白)の画像を描画 DrawGraph( 450 , 230 , SERECT[1] , TRUE ) ;//つづきから(白)の画像を描画 DrawGraph( 450 , 260 , SERECT[5] , TRUE ) ;//おわり(黄色)の画像を描画 break; } if(point == 0 && Key[KEY_INPUT_RETURN] == 1){    //ここの部分です。 /* 初期化処理 */ // ClearDrawScreen(); //とりあえず、四角を書くだけになっています。 DrawBox( 200 , 300 , 200 , 180 , Cr , TRUE) ; break; } if(point == 1 && Key[KEY_INPUT_RETURN] == 1){ ClearDrawScreen(); } if( Key[KEY_INPUT_DOWN]==1 ||( Key[KEY_INPUT_DOWN]%5==0 && Key[KEY_INPUT_DOWN]>30)){ // たった今押したか、30カウンター以上押しっぱなしかつ5回に一度 PlaySound( "select.wav" , DX_PLAYTYPE_BACK ) ; point++; if(point>=3) point = 0; } if( Key[KEY_INPUT_UP]==1 ||( Key[KEY_INPUT_UP]%5==0 && Key[KEY_INPUT_UP]>30)){ // たった今押したか、30カウンター以上押しっぱなしかつ5回に一度 PlaySound( "select.wav" , DX_PLAYTYPE_BACK ) ; point--; if(point<=-1) point = 2; } ScreenFlip(); } WaitKey() ; DxLib_End(); // DXライブラリ使用の終了処理 return 0; // ソフトの終了 }

Page: 1 |

Re: メニュー選択画面 ( No.1 )
名前:T 日時:2010/05/30 14:32

音声、画像関連を書き換えて実行してみましたが、しっかりとwhileループから抜け出せています /* 初期化処理 */ は、実際はどのような処理をしているのでしょうか? もしそこでもループが使われているのでしたら、そこで無限ループになっているのだと思います
Re: メニュー選択画面 ( No.2 )
名前:いっち 日時:2010/05/30 14:49

以下のようにすれば、青い四角が表示されるようになると思います。 /* 初期化処理 */ // ClearDrawScreen(); //とりあえず、四角を書くだけになっています。 DrawBox( 200 , 300 , 200 , 180 , Cr , TRUE) ; break; ↓↓↓↓ /* 初期化処理 */ // ClearDrawScreen(); //とりあえず、四角を書くだけになっています。 DrawBox( 200 , 300 , 200+200 , 300+180 , Cr , TRUE) ; ScreenFlip(); break;
Re: メニュー選択画面 ( No.3 )
名前:名無しさん 日時:2010/05/30 16:05

T様、いっち様、ご指摘ありがとうございました。 私の勘違いだったようで、WHILEから抜け出せておりました。 初期化処理では、ゲームの本編に飛ばすようにしてありました。こちらはループではございませんでした。 ご迷惑をおかけしました。。

Page: 1 |