あとこんどこそいろいろなことに気をつけて
タイトル画面
を作ることに挑戦したのですが
#include "DxLib.h"
#include "GlobalVariable.h"
int GetHitKeyStateAll_2(int KeyStateBuf[/url]){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll( GetHitKeyStateAll_Key );
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key==1) KeyStateBuf++;
else KeyStateBuf=0;
}
return 0;
}
void char_disp(int White,int y){
DrawString( 150 , y , "⇒" , White );
DrawString( 170 , 100 , "NEW GAME" , White );
DrawString( 170 , 120 , "END" , White );
}
void message_box(){
int flag;
flag=MessageBox(
NULL ,
TEXT("ウィンドウモードで起動しますか? おすすめ") ,
TEXT("スクリーン設定") ,
MB_YESNO | MB_ICONQUESTION );
if(flag==IDYES)
ChangeWindowMode( TRUE );
}
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
extern void img_sound_load();
extern void initialization();
extern void SetColor();
extern void Background();
extern void PlayerShotCalc();
extern void PlayerShotDisp();
extern void PlayerControl();
extern void EnemyControl();
extern void EnemyCalcDisp();
extern void EnemyShotControl();
extern void EnemyShotCalcDisp();
extern void CollisionDetection();
extern void playerCollisionDetection();
extern void Background2();
extern void FpsTimeFanction();
int RefreshTime=0;
int White , y=100; //色とy座標の宣言
message_box();
if( DxLib_Init() == -1 ) return -1;
SetDrawScreen( DX_SCREEN_BACK ) ; //裏画面を使用する。
img_sound_load();
initialization();
SetColor();
White = GetColor( 255 , 255 , 255 ) ; //色の取得
while(ProcessMessage() == 0 && GetHitKeyStateAll(Key) == 0){
RefreshTime = GetNowCount(); //今の時間を取得
ClearDrawScreen(); //裏画面のデータを全て削除
SetMainWindowText( "悲しみの王女 ~ver 1.01~" ) ;
if( Key[KEY_INPUT_DOWN]==1 ||( Key[KEY_INPUT_DOWN]%5==0 && Key[KEY_INPUT_DOWN]>30)){
// たった今押したか、30カウンター以上押しっぱなしかつ5回に一度
y+=20;
if(y==140) // y座標が260なら(選択が一番下なら)
y=100; // 選択座標を一番上に
if(y==120 && Key[KEY_INPUT_RETURN]== 1)
goto End;
if(y==100 && Key[KEY_INPUT_RETURN]== 1)
goto Opening;
}
Opening:
if(CheckSoundMem(sound_bgm[0])==0)
PlaySoundMem(sound_bgm[0],DX_PLAYTYPE_BACK);
Background();
PlayerShotCalc();
PlayerShotDisp();
PlayerControl();
EnemyControl();
EnemyCalcDisp();
EnemyShotControl();
EnemyShotCalcDisp();
CollisionDetection();
playerCollisionDetection();
Background2();
FpsTimeFanction();
ScreenFlip() ; //裏画面データを表画面へ反映
counter++;
if(Key[KEY_INPUT_ESCAPE]==1) break; //Escapeが押されたら終了
while(GetNowCount() - RefreshTime < 17);//1周の処理が17ミリ秒になるまで待つ
}
End:
DxLib_End() ;
return 0 ;
}
では表示されませんでした。
これであっているのではないですか?