ゲームの選択メニューを作っているのですが、詰まってしまいました。
http://dixq.net/g/36.html
ここを参考にして
void game_start(){
int f;
int num=4;//選択できる数
int menu=0;
if( CheckStatePad(configpad.up) == 1 && menu > 0 )
--menu;
else if( CheckStatePad(configpad.up) == 1 )
menu = num-1;
if( CheckStatePad(configpad.down) == 1 && menu < num-1 )
++menu;
else if( CheckStatePad(configpad.down) == 1 )
menu = 0;
というようにしたのですが、これを龍神録のプログラムの中に組み込むと、ループしているせいで常に
int menu=0;が出てきてしまいます。
これではupやdownのキーを押してもすぐに元に戻ってしまいます。
グローバル変数を使ってmenu=0という部分を別の場所で定義すれば正しく作動したのですが、なるべくグローバル変数は使いたくありません。
これはどのようにすれば解決できるのでしょうか?
選択画面について
Re:選択画面について
int menu=0が呼ばれてしまうというか、自動変数なので消滅してしまって値が保存されないためだと思います。
staticを使って静的変数にするか、グローバル変数にするしかないと思います。
追記:
プログラム終了時まで消滅しないメインループの外で自動変数にしてもいいかも。
staticを使って静的変数にするか、グローバル変数にするしかないと思います。
追記:
プログラム終了時まで消滅しないメインループの外で自動変数にしてもいいかも。

Re:選択画面について
ありがとうございます。
ループの外で定義しようとも考えたのですが、複雑になってしまいそうで・・・
無事static int menu;にしたら出来ました。
ありがとうございました!
ループの外で定義しようとも考えたのですが、複雑になってしまいそうで・・・
無事static int menu;にしたら出来ました。
ありがとうございました!