C++の勉強もしていますが一旦こちらに・・・
今回はタイトルとそれからの遷移を表現したいと思っているのですが、考え方が今一わかりません。
※長文になります
一応まず、私の考えを載せます
typedef struct
{
int num;//番号 1->スタート、2->遊び方・・のように・
int flag;//フラグ
int brt;//輝度
int img[MAX_TITLE]//選択するべき項目の画像表示個数
int img_icon;//現在選択している項目の左隣にでも表示するアイコン
int title_cnt;//カウント
}title_t;
//graph.cpp
void graph_title()
{
int i = title.num;
if(title.flag > 0)
{
SetDrawBlendMode(DX_BLENDMODE_ALPHA , title.brt);//輝度のセット
for(i=0 ; i<MAX_TITLE ; i++)
{
DrawGraph(100 , 100+(i*100) , title.img[i] , TRUE);//選択するべき項目の画像
}
DrawGraph(100 , 100+(title.num) , title.img_icon , TRUE);//アイコン
}
else if(title.flag == 0)
SetDrawBlendMode(DX_BLENDMODE_NOBLEND , 0);//暗く
}
//calc.cpp
void calc_title()
{
if(stage == 0)//初期化状態だったら
{
title.flag = 1;//タイトル画面表示
}
if(title.cnt > 250 && title.brt <= 250)
title.brt+= 2;//少しずつ明るく
if(CheckStatePad(configpad.down) > 0)//↓キーが押されていたら
{
if(title.num <= MAX_TITLE)
title.num += 1;
else
title.num += 0;
}
if(CheckStatePad(configpad.up) > 0)//↑キーが押されていたら
{
if(title.num >= 0)
title.num -= 1;
else
title.num -= 0;
}
if(title.num <= MAX_TITLE && title.num >= 0)//選択すべき表示画像は2つだけなのでMAX_TITLEは今の段階では2です
{
if(CheckStatePad(configpad.slow) > 0)//左シフトキーが押されていたら(決定の意)
{
if(title.brt >= 0 )
title.brt -= 2;//徐々に暗く
switch(title.num)//タイトル画面の画像表示は背景と「スタート」、「遊び方」の二つだけ
{
case 1://スタートだったら
if(title.brt <= 0)//完全に暗くなったら
{
/*ゲームを始める処理*/
title.flag = 0;//タイトル画面を消す(真っ暗になってからなので実際に消えるところは見えませんが・・)
}
break;
case 2://遊び方だったら
/*同様に(今の時点ではここは無視)*/
break;
default:
break;
}
}
}
}
1、起動すると初めにタイトル表示
1-1、真っ暗から徐々に明るくなっていき、タイトル画面があらわれる
2、上下キーで選択(今のところは「スタート」と「遊び方」の二つだけ)
3、左シフトキーで決定
3-1、決定すると徐々に暗くなっていく
4、完全に暗くなったら、今まで通りゲーム画面に移る
4-1、そしてタイトル画面も消す
という流れなのですが、
遷移の部分がどうしてもわかりません(calc.sppのswitch文の中)あと、mainの書き方も・・・
考え方、助言お願いします。
また、私の説明不足で理解できなかった個所があれば、書いてください。