main.cpp
#include "Dxlib.h"
#include "title.h"
#include "select.h"
#include "keyboard.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK );
SetMainWindowText("ああああ") ; //タイトル
int game = 0 ;
//初期化
Title_Initialize();
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
Keyboard_Update(); //キーボード取得
switch(game){
case 0 : //タイトル
Title_menu();
Title_Draw();
Title_syori(); //ここからcase 10 に飛ばしたい//
break;
case 10 : //セレクト
Select_top();
break;
}
if(Keyboard_Get(KEY_INPUT_ESCAPE)==1)break;
ScreenFlip();//裏画面を表画面に反映
}
DxLib_End();
return 0;
}
#include "DxLib.h"
#include "title.h"
#include "keyboard.h"
//グローバル変数等 (static int ~~)
static int SelectNum = 0; // 現在の選択番号
//初期化 (イメージのロード、関数の初期化等)
void Title_Initialize(){
}
//計算 (タイトルの動作処理)
void Title_menu(){
// メニュー項目要素
typedef struct{
int x, y; // 座標格納用変数
char name[128]; // 項目名格納用変数
} MenuElement_t ;
// メニュー項目要素を5つ作る
MenuElement_t MenuElement[3]={
{ 280, 300, "一人プレイ" },
{ 280, 350, "二人プレイ" },
{ 280, 400, "遊び方" },
};
if( Keyboard_Get ( KEY_INPUT_DOWN ) == 1 ){ // 下キーが押された瞬間だけ処理
SelectNum = ( SelectNum + 1 ) % 3; // 現在の選択項目を一つ下にずらす(ループする)
}
if( Keyboard_Get ( KEY_INPUT_UP ) == 1 ){ // 上キーが押された瞬間だけ処理
SelectNum = ( SelectNum + 2 ) % 3; // 現在の選択項目を一つ上にずらす(逆ループする)
}
for( int i=0; i<5; i++ ){ // メニュー項目を描画
if( i == SelectNum ){
DrawFormatString( MenuElement[i].x-20, MenuElement[i].y, GetColor(255,255,255), MenuElement[i].name );
} else {
DrawFormatString( MenuElement[i].x, MenuElement[i].y, GetColor(255,255,255), MenuElement[i].name );
}
}
}
//処理
void Title_syori(){
if( SelectNum == 0 ){
if(Keyboard_Get ( KEY_INPUT_SPACE ) > 0){
DrawString( 250 , 240 - 32 , "現在開発中" , GetColor( 255 , 255 , 255 ) );
}
}
if( SelectNum == 1 ){
if(Keyboard_Get ( KEY_INPUT_SPACE ) > 0){
// ここに main.cpp の case 10 にいく構文を入れたい //
}
}
if( SelectNum == 2 ){
if(Keyboard_Get ( KEY_INPUT_SPACE ) > 0){
DrawGraph(100,100,LoadGraph("picture/説明.bmp") , TRUE );
}
}
}
//描画 (DrawGraph等)
void Title_Draw(){
DrawString( 250 , 180 , "ああああ" , GetColor( 255 , 255 , 255 ) );
}
//終了 (グラフィック削除等)
void Title_Finalize(){
}
あと、こうするとわかりやすいよというアドバイスなどを教えてくれると嬉しいです。