メニュー画面を作れない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
プラム
記事: 164
登録日時: 12年前
住所: 東海地方

メニュー画面を作れない

#1

投稿記事 by プラム » 12年前

龍神録プログラミングの館で作ったものを改造しましたがメニュー画面の作り方がわかりませんみなさん教えてください

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: メニュー画面を作れない

#2

投稿記事 by みけCAT » 12年前

新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]
というサイトに「メニュー画面の作り方」という項目があります。
これを見てもわからないですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
プラム
記事: 164
登録日時: 12年前
住所: 東海地方

Re: メニュー画面を作れない

#3

投稿記事 by プラム » 12年前

はいわかりません

アバター
プラム
記事: 164
登録日時: 12年前
住所: 東海地方

Re: メニュー画面を作れない

#4

投稿記事 by プラム » 12年前

たくさんソースコードがあるのでどれをどうしたらいいのか

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: メニュー画面を作れない

#5

投稿記事 by softya(ソフト屋) » 12年前

そうですね。ちゃんと作れるように成りたいのなら、1つ1つ細かいところから一行一行の意味を理解していくのが正しいです。
龍神録ぐらいのものでも、ちゃんと理解するには少なくても半年以上かかります。

理解せず、ちゃっちゃっと作っちゃったい。ってのなら過去ログを検索してみるって方法があります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

sql

Re: メニュー画面を作れない

#6

投稿記事 by sql » 12年前

龍神録をDLして見たのですが、main.cppのなかを以下のようにするとできました。即席ですので汚いですが・・(色々と弊害はあるので新たにcppファイルを作ってgraph関数なりcalc関数なりを用意してやったほうがいいです。

コード:

【略】

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にメニューだけ関数を用意して(以上の変更点を書いて)しまうか・・・

アバター
プラム
記事: 164
登録日時: 12年前
住所: 東海地方

Re: メニュー画面を作れない

#7

投稿記事 by プラム » 12年前

ありがとうございました確かにそうするとできまし他にもいろいろなことは自分で勉強します本当にありがとうございました!!!

閉鎖

“C言語何でも質問掲示板” へ戻る