メニューウィンドウの表示について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
TAB譜。

メニューウィンドウの表示について

#1

投稿記事 by TAB譜。 » 15年前

こんにちは。私は今サウンドノベル風のゲームを作ろうとしています。

本編を始めた時に、メニューウィンドウを表示させたいんですが、
本編のメッセージウィンドウや背景画像を残したまま表示させるにはどうすればいいですか?
あとそのウィンドウを表示させ、閉じて本編を続ける方法も教えてください。
いまのままだと、閉じた後、本編が最初から始まってしまいます。

[2]
・OS Windows Vista BASIC
・コンパイラ:Visual C++ 2008 Express Edition
[3]
・Dxライブラリを使っています。
・C言語で簡単なプログラムを作成できるくらいはできます。

ソースはどこを乗せればいいかわからないので添付します
よろしくお願いします

ひよこ

Re:メニューウィンドウの表示について

#2

投稿記事 by ひよこ » 15年前

本編のメッセージウィンドウや背景画像を残したまま
>>描いたまま処理をすればいいのでは?

あとそのウィンドウを表示させ、閉じて本編を続ける方法も教えてください。
>>これってセーブデータですよね。
>>ゲームプログラミングの館にのっているので参考にしてみてはどうでしょうか?

あと、Menueで毎回、LoadGraphするのはよくないです。メモリによくないです。

kazuoni

Re:メニューウィンドウの表示について

#3

投稿記事 by kazuoni » 15年前

> 本編のメッセージウィンドウや背景画像を残したまま表示させるにはどうすればいいですか?

例えばNewGame()にgameModeが移行し、BackSpaceが押されたとします。
すると、gameMode=7はとなり、NewGame()には入らなくなり、背景等の描写は消えてしまいます。
解決するには、ゲーム画面描写後にウィンドウ画面を表示すればよいです。
void NewGame(){

	static bool IsPushed_BACK = false;

	...; // すべてのゲーム画面の描写後

	if(Key[KEY_INPUT_BACK]==1)
		IsPushed_BACK = true;

	if(IsPushed_BACK)
	{
		Window();

		if(メニューが閉じられたら)
			IsPushed_BACK = false;
	}
}
もし、ゲーム画面のキー入力(キャラの移動など)とウィンドウ画面のキー入力(項目の選択肢移動など)が
かぶってしまう場合は、IsPushed_BACKによってキー制御を分岐してください。
まぁ、かぶらなければ問題ないんですが。

> いまのままだと、閉じた後、本編が最初から始まってしまいます。
おそらく、ロード機能ではなく、ゲーム内の自作したウィンドウを閉じたらって意味ではないですか?
どこの関数が本編と言っているのかわからないので何とも言えないですけど、
Menue()→Newgame()→Window()→NewGame()ならば問題ないのでは?
どの流れで悩んでいる問題になるのか、詳細を追記していただけませんか?

#メニュー画面のメニューは「Menue」ではなく「Menu」ですよね^^;

閉鎖

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