いつもお世話になっています、jiosです。
現在、「シューティングゲームの館」というサイトの「4. 基本的な関数を作る。」を参考にしてプログラムを組んでいます。
しかし、キャラクターや背景の画像を表示することができません。
作成したプロジェクトをそのまま書きます。
#include"DxLib.h"
extern int gpUpdateKey();
extern int CheckStateKey(unsigned char Handle);
int ProcessLoop(){
if(ProcessMessage()!=0)return -1;//プロセス処理がエラーなら-1を返す
if(ClearDrawScreen()!=0)return -1;//画面クリア処理がエラーなら-1を返す
gpUpdateKey();
return 0;
}
/* グローバル宣言 */
int counter=0;
int color_white;
typedef struct{
double x,y;
int status,counter;
int shot [11][15];
} BODY_player_t;
BODY_player_t Player;
/******************/
void initialization(){
Player.x=200.0;
Player.y=400.0;
Player.counter=0;
Player.status=0;
}
void SetColor(){
color_white = GetColor(255,255,255); //白色ハンドルを取得
}
void FpsTimeFanction(){
static int FpsTime[2]={0,},FpsTime_i=0;
static double Fps=0.0;
if(FpsTime_i== 0)
FpsTime[0]=GetNowCount(); //1周目の時間取得
if(FpsTime_i==49){
FpsTime[1]=GetNowCount(); //50周目の時間取得
Fps = 1000.0f / ((FpsTime[1] - FpsTime[0]) / 50.0f);//測定した値からfpsを計算
FpsTime_i=0;
}
else
FpsTime_i++; //現在何周目かカウント
if(Fps != 0)
DrawFormatString(565,460,color_white,"FPS %.1f",Fps); //fpsを表示
return;
}
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK ); //ウィンドウモード変更と初期化と裏画面設定
//画像ファイルハンドル
int Handle1 = LoadGraph("画像/background0.png");
int Handle2 = LoadGraph("画像/background1.png");
int img_player[4];
int player = LoadDivGraph( "Sh/弾幕/img/char/player.png" , 4 , 4 , 1 , 32 , 48 , img_player ) ;
int RefreshTime = 0;
initialization(); //初期化
SetColor();
// while(裏画面を表画面に反映, メッセージ処理, 画面クリア, キーの更新)
while(ProcessMessage() == 0 && ProcessLoop() == 0){
RefreshTime = GetNowCount();
DrawGraph(0,0,Handle1,FALSE);
DrawGraph((int)Player.x,(int)Player.y,img_player[0],TRUE);
DrawGraph(220,480,Handle2,TRUE);
FpsTimeFanction();
counter++;
ScreenFlip();
if(CheckStateKey(KEY_INPUT_ESCAPE) == 1) break;
}
DxLib_End(); // DXライブラリ終了処理
return 0;
}