メニュー画面を作れない
メニュー画面を作れない
龍神録プログラミングの館で作ったものを改造しましたがメニュー画面の作り方がわかりませんみなさん教えてください
Re: メニュー画面を作れない
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: メニュー画面を作れない
そうですね。ちゃんと作れるように成りたいのなら、1つ1つ細かいところから一行一行の意味を理解していくのが正しいです。
龍神録ぐらいのものでも、ちゃんと理解するには少なくても半年以上かかります。
理解せず、ちゃっちゃっと作っちゃったい。ってのなら過去ログを検索してみるって方法があります。
龍神録ぐらいのものでも、ちゃんと理解するには少なくても半年以上かかります。
理解せず、ちゃっちゃっと作っちゃったい。ってのなら過去ログを検索してみるって方法があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
sql
Re: メニュー画面を作れない
龍神録をDLして見たのですが、main.cppのなかを以下のようにするとできました。即席ですので汚いですが・・(色々と弊害はあるので新たにcppファイルを作ってgraph関数なりcalc関数なりを用意してやったほうがいいです。)
それかmain.cppにメニューだけ関数を用意して(以上の変更点を書いて)しまうか・・・
【略】
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
ChangeWindowMode(TRUE);//ウィンドウモード
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化
while(ProcessLoop()==0){//メインループ
static int sel = 0;//追加
static int x = 100 ,y = 100;//追加
music_ini();
switch(func_state){
case 0://初回のみ入る処理
load(); //データロード
first_ini();//初回の初期化
func_state=98;//ここを98に
break;
case 98://STGを始める前に行う初期化
ini();
load_story();
func_state=99;//メニューへ
break;
case 99://メニュー
DrawString(10 , 10 , "メニューです" , GetColor(255,255,255) , 0);
DrawString(x , y , "ゲームに進む" , GetColor(255,255,255) , 0);
DrawString(x , y+30 , "このまま" , GetColor(255,255,255) , 0);
DrawBox(x-30,y+(sel*30),x-10,y+20+(sel*30) , GetColor(255,0,0) ,true);
if(CheckStateKey(KEY_INPUT_UP)==1)
{
if(sel > 0)
sel--;
else
sel = 0;
}
if(CheckStateKey(KEY_INPUT_DOWN)==1)
{
if(sel < 1)
sel++;
else
sel = 1;
}
if(CheckStateKey(KEY_INPUT_SPACE)==1)
{
if(sel == 0)
func_state=100;
}
break;
case 100://通常処理
enter_func_tm("最初");
calc_ch(); enter_func_tm("キャラ計算");
ch_move(); enter_func_tm("キャラ移動");
cshot_main(); enter_func_tm("自機ショットメイン");
enemy_main(); enter_func_tm("敵処理メイン");
boss_shot_main();enter_func_tm("ボスショットメイン");
shot_main(); enter_func_tm("ショットメイン");
out_main(); enter_func_tm("当たり判定");
effect_main(); enter_func_tm("エフェクトメイン");
calc_main(); enter_func_tm("計算メイン");
graph_main(); enter_func_tm("描画メイン");
bgm_main(); enter_func_tm("BGMメイン");
if(boss.flag==0)
stage_count++;
break;
default:
printfDx("不明なfunc_state\n");
break;
}
music_play(); enter_func_tm("音楽再生");
fps_wait(); enter_func_tm("待機した時間",1);
if(CheckStateKey(KEY_INPUT_ESCAPE)==1)break;//エスケープが入力されたらブレイク
ScreenFlip();//裏画面反映
count++;
}
DxLib_End();//DXライブラリ終了処理
return 0;
}それかmain.cppにメニューだけ関数を用意して(以上の変更点を書いて)しまうか・・・
Re: メニュー画面を作れない
ありがとうございました確かにそうするとできまし他にもいろいろなことは自分で勉強します本当にありがとうございました!!!