ページ 11

DXライブラリ タイトル画面→本編 画像非表示

Posted: 2011年6月15日(水) 12:10
by ****
#include "DxLib.h"

int g_lasttime = 0;
float g_frametime = 0;
enum GameState{
GAME_TITLE, GAME_MAIN,
GAME_CLEAR, GAME_OVER
} g_gamestate = GAME_TITLE;
int g_img_title[6];
float x=0,y=0;
//ボタン
bool g_akey_prev;
//フォント
int g_middlefont;

//関数プロトタイプ宣言
void GoGameTitle();
void DrawGameTitle();
void GoGameMain();
void DrawGameMain();
void GoGameClear();
void DrawGameClear();
void GoGameOver();
void DrawGameOver();
bool IsAKeyTrigger(int key){
if(key & PAD_INPUT_A){
if(g_akey_prev == false ){
g_akey_prev = true;
return true;
}
} else {
g_akey_prev = false;
}
return false;
}



int WINAPI WinMain(HINSTANCE h1, HINSTANCE hP, LPSTR lpC, int nC){
ChangeWindowMode( TRUE ); // ウィンドウモードに設定
if(DxLib_Init() == -1)return -1; // DXライブラリ初期化処理

g_img_title[0] = LoadGraph("画像/kari haikei.jpg");


float x=0,y=0;

SetDrawScreen( DX_SCREEN_BACK );
g_lasttime = GetNowCount() & INT_MAX;
while( ProcessMessage() == 0 &&
CheckHitKey(KEY_INPUT_ESCAPE) == 0 )
{
int curtime = GetNowCount() & INT_MAX;
g_frametime = (float)(curtime - g_lasttime) / 1000.0f;
g_lasttime = curtime;
ClsDrawScreen();


//各画面描画
switch(g_gamestate){
case GAME_TITLE:
DrawGameTitle();
break;
case GAME_MAIN:
DrawGameMain();
break;
case GAME_CLEAR:
DrawGameClear();
break;
case GAME_OVER:
DrawGameOver();
break;
}
ScreenFlip();
}


DxLib_End(); // DXライブラリ終了処理
return 0;
}

//タイトル画面
void GoGameTitle(){
g_gamestate = GAME_TITLE;
}
void DrawGameTitle(){
DrawGraph(0,0,g_img_title[0],FALSE);
//キーをチェックして画像切り替え
int key = GetJoypadInputState( DX_INPUT_KEY_PAD1 );
if(IsAKeyTrigger(key)==true) GoGameMain();
}
//ゲーム本編描画
void GoGameMain(){
g_gamestate = GAME_MAIN;
}
void DrawGameMain(){
//自キャラ操作
int key = GetJoypadInputState( DX_INPUT_KEY_PAD1 );
float mv = 200.0f * g_frametime;
if(key & PAD_INPUT_R) y -= mv; //上
if(key & PAD_INPUT_Y) y += mv; //下
if(key & PAD_INPUT_X) x -= mv; //左
if(key & PAD_INPUT_Z) x += mv; //右
}
//ゲームクリア画面描画
void GoGameClear(){
g_gamestate = GAME_CLEAR;
}
void DrawGameClear(){
}
//ゲームオーバー画面描画
void GoGameOver(){
g_gamestate = GAME_OVER;
}
void DrawGameOver(){
}

タイトル画面からキーを入力して本編に行ったあとキャラ画像が表示されない原因がわかりません;
わかったら教えてください。

Re: DXライブラリ タイトル画面→本編 画像非表示

Posted: 2011年6月15日(水) 12:25
by h2so5
キャラの描画処理はどこに書いてあるんですか?

Re: DXライブラリ タイトル画面→本編 画像非表示

Posted: 2011年6月15日(水) 12:52
by みけCAT
とりあえず、コードはcodeタグで囲んでいただけるとありがたいです。

Re: DXライブラリ タイトル画面→本編 画像非表示

Posted: 2011年6月15日(水) 13:24
by ****
ごめんなさい
いろいろ変えた後のものを張っていました

訂正したものを張りなおします;