タイトル画面の作り方を教えてほしい

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

タイトル画面の作り方を教えてほしい

#1

投稿記事 by ペタ » 15年前

龍神録を拝見させてもらいました。
個人的にタイトル画面から「Game Start」でゲームを始めれるようして、「Option」から
ゲームのレベルや音量を変更できるようにしたいんですけど、
どうやればできるのか仕組みだけでもご教授ください。

ひよこ

Re:タイトル画面の作り方を教えてほしい

#2

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

スイッチ文を使います。
switch(ゲームの制御する変数){
タイトル:
ゲームを制御する変数にゲームメインを表す値を入れる。
ゲームメイン:

ゲームのレベルや音量を変更できるようにしたいんですけど
>>ファイルに保存し、ファイルの中身で変更すればいいのです。

ペタ

Re:タイトル画面の作り方を教えてほしい

#3

投稿記事 by ペタ » 15年前

ひよこさん返信ありがとうございます。今タイトル画面を作ろうとしているんですけど
プログラムだけ見もらえませんか?


#define GLOBAL_INSTANCE
#include "../include/Global.h"

//メイン

//ループで必ず行う3大処理
int ProcessLoop(){
if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す
if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す
GetHitKeyStateAll_2();//現在のキー入力処理を行う
GetHitPadStateAll(); //現在のパッド入力処理を行う
return 0;
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){


while(ProcessLoop()==0){//メインループ
music_ini();
switch(func_state){
case 0://初回のみ入る処理
load(); //データロード
first_ini();//初回の初期化
func_state=1;
break;
case 1://STGを始める前に行う初期化
ini();
load_story();
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;
}


アドバイスをくれたら嬉しいです。

softya

Re:タイトル画面の作り方を教えてほしい

#4

投稿記事 by softya » 15年前

ひよこさんじゃありませんが、既にあるswitch(func_state)
case 0://初回のみ入る処理
case 1://STGを始める前に行う初期化
case 100://通常処理
にcaseを増やしてタイトル画面処理を加えるだけですよ。

その前にシューティング本体のないタイトル画面とオプションだけのプログラムを作れますか?
それが出来ないと付け加える事も難しいんで、まず作ってみませんか。ZEROからプログラムを作る練習にもなりますしね。

ペタ

Re:タイトル画面の作り方を教えてほしい

#5

投稿記事 by ペタ » 15年前

softyaさんも返事ありがとうございます。

一応龍神録の50章までプログラムを作っているので、

タイトル画面とオプション画面を作ってみたいなと思ったからです。

今悩んでいるのは新しくtitle.cppを追加してその中にどういうソースを書けば

タイトル画面みたくなるのかで悩んでいます。

softya

Re:タイトル画面の作り方を教えてほしい

#6

投稿記事 by softya » 15年前

「ゲームプログラミングの館」は読まれましたか?
選択画面の作り方などは、あちらにあります。

33. 選択画面の作り方。
34. main関数の書き方。

を上手組み合わせればタイトル画面やオプション画面が作れます。
まず、シューティングの無い別のプロジェクトを作って、それだけを作りましょう。
これを作れない人に、いきなりシューティングのタイトル追加は難しすぎます。

>一応龍神録の50章までプログラムを作っているので、

50章までのプログラムの一行一行の命令の意味・意義を理解しているなら、それだけで作れるハズなのです。
なのでまだ理解度は浅いと思います。メインループにあるswitch(func_state)の機能を説明できますか?
画像

ペタ

Re:タイトル画面の作り方を教えてほしい

#7

投稿記事 by ペタ » 15年前

すいません、説明しろって言われると説明できません。

今週末までに何とかしないといけなかったのであまり考えずにしていました。

分かるところは理解しながら書いていたんですけど分からないところはコピペしただけです。

はっきり言って「メインループにあるswitch(func_state)」の機能はよくわかりません。

ひよこ

Re:タイトル画面の作り方を教えてほしい

#8

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

上に私が書いたようになっています。
詳しく言うと。スイッチ文は条件分岐に使う変数の値によって処理を分けるということです。
switch(func_state)
これの場合は0のときに、データをロードし、
1のときに変数の初期化などで100のときにゲームメインとなる処理をしています。

softya

Re:タイトル画面の作り方を教えてほしい

#9

投稿記事 by softya » 15年前

>今週末までに何とかしないといけなかったのであまり考えずにしていました。

何らかの卒業制作でしょうか?

龍神録の規約の
http://dixq.net/rp/kiyaku.html

ここのプログラムコードを利用して制作したゲームを卒業制作、または教育機関等の課題として提出する場合
→利用できますが、使用される際は※2を参考にしてご連絡下さい。

※2
専門学校の卒業制作や何かの制作物として教育機関などに提出される際は一度ご連絡ください。
その際は提出先とお名前をご連絡内容に添えて下さい。

は大丈夫ですか?

ペタさんの今週末までに何とかしなければいけない理由を明確にして下さい。
基本的にこの掲示板は、プログラミング考え方を身につけるお手伝いがスタンスですので、そのものズバリなコードを書くことはマレです。
今のところ、仕様も明確ではないのでコードを書くことも出来ませんが。 画像

ペタ

Re:タイトル画面の作り方を教えてほしい

#10

投稿記事 by ペタ » 15年前

ひよこさん丁寧な説明ありがとうございました。

softyaさん専門学校の卒業制作や何かの制作物として使用するわけではありません。

あくまで個人的に使用するので関係はありません。

閉鎖

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