タイトルの実装について
Posted: 2010年8月25日(水) 23:01
こんばんわ、いつもお世話になっております
今回は3つ質問があります
・タイトルは東方の作品を参考にして
START→武器選択→キャラ選択→キャラの性能?選択→ゲーム開始
という流れなのですがSTARTを押した瞬間いきなりゲーム開始してしまうのです
if(CheckStatePad(configpad.shot)>0){//決定ボタンが押されたら
という条件にしてあるのですが、いきなりゲーム開始してしまわないようにはどのような
条件にすればよいのでしょうか?
・STARTやPRACTICEなどの選択肢が一定時間たつと左右に少し動くように
したいのですが「一定時間かつどのくらいの間」の条件が思い浮かばないのですが
どのようにすればよいのでしょうか
・今回、一から手探りで作ってみたのでいろいろとソースに無駄があると思います
なのでその点を指摘してもらえると今後の役に大いに立つと思うので出来ればお願いします。
今回は3つ質問があります
・タイトルは東方の作品を参考にして
START→武器選択→キャラ選択→キャラの性能?選択→ゲーム開始
という流れなのですがSTARTを押した瞬間いきなりゲーム開始してしまうのです
if(CheckStatePad(configpad.shot)>0){//決定ボタンが押されたら
という条件にしてあるのですが、いきなりゲーム開始してしまわないようにはどのような
条件にすればよいのでしょうか?
・STARTやPRACTICEなどの選択肢が一定時間たつと左右に少し動くように
したいのですが「一定時間かつどのくらいの間」の条件が思い浮かばないのですが
どのようにすればよいのでしょうか
・今回、一から手探りで作ってみたのでいろいろとソースに無駄があると思います
なのでその点を指摘してもらえると今後の役に大いに立つと思うので出来ればお願いします。
void title_main(){ switch(title_state){ case 0: title0(); break; case 1: title1(); break; case 2: title2(); break; case 3: title3(); break; case 4: title4(); break; case 5: title5(); break; case 6: title6(); break; case 7: title7(); break; case 8: title_select(); break; } } void title0(){//一番初めのやつ static int i=0; static int x=120,y=-120; int cnt=title_count; if(title_count==0) bgm_flag[0]=1; if(title_count<=60) x=120-2*cnt,y=-120+2*cnt; DrawGraph(0,0,img_title_back[1],TRUE);//タイトルの背景 DrawGraph(10,0+y,img_title_back[2],TRUE);//東方妖々夢のロゴ DrawGraph(250+x,100,img_title[0],TRUE);//START DrawGraph(260+x,120,img_title[2],TRUE);//EXTRA DrawGraph(270+x,140,img_title[4],TRUE);//PRACTICE DrawGraph(280+x,160,img_title[6],TRUE);//REPLAY DrawGraph(290+x,180,img_title[8],TRUE);//RESULT DrawGraph(300+x,200,img_title[10],TRUE);//RESULT DrawGraph(310+x,220,img_title[12],TRUE);//OPTION DrawGraph(320+x,240,img_title[14],TRUE);//QUIT DrawGraph(250+i*10+x,100+i*20,img_title[i*2+1],TRUE);//画像を光らせる if(CheckStatePad(configpad.down)==1 || (CheckStatePad(configpad.down)%6==0 && CheckStatePad(configpad.down)>30)){//下に移動 i+=1;//ひとつ下にいく if(i==8)i-=8;//一番下なら上へ se_flag[11]=1;//カーソル音 } if(CheckStatePad(configpad.up)==1 || (CheckStatePad(configpad.up)%6==0 && CheckStatePad(configpad.up)>30)){//上に移動 i-=1;//一つ上にいく if(i==-1) i+=8;//一番上なら下へ se_flag[11]=1; } if(CheckStatePad(configpad.shot)>0){//決定ボタンが押されたら title_count=0; se_flag[10]=1; i=0; if(i==0){//STARTならば title_state=8; } if(i==1) if(i==2) if(i==3) if(i==4) if(i==5) if(i==6) if(i==7)//EXITならば } }