勘違いしてました
structはデータ型じゃないからtypedefで置き換えられないということに気が付いてませんでした。
自分でも実験しましたがもちろんエラーになりました。
手元にある本と返信をみてやっと気が付きました。
それを踏まえて
main.cpp
コード:
#define GLOBAL_INSTANCE
#include"GlobalVariable.h"
//現在のキー入力処理を行う
extern int GetHitKeyStateAll_2();
//受け取ったキー番号の現在の入力状態を返す
extern int CheckStateKey(unsigned char Handle);
//データのロード
extern void load();
//描画メイン
extern void graph_main();
int img_ch[2][12]; //キャラ画像9枚分
ch_t ch; //キャラクターデータ
//ループで必ず行う3大処理
int ProcessLoop(){
if (ProcessMessage() != 0)return -1;//プロセス処理がエラーなら-1を返す
if (ClearDrawScreen() != 0)return -1;//画面クリア処理がエラーなら-1を返す
GetHitKeyStateAll_2();//現在のキー入力処理を行う
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
ChangeWindowMode(TRUE);//ウィンドウモード
if (DxLib_Init() == -1 || SetDrawScreen(DX_SCREEN_BACK) != 0) return -1;//初期化と裏画面化
//メインループ
while (ProcessLoop()==0){
graph_main(); //描画メイン
if (CheckStateKey(KEY_INPUT_ESCAPE) == 1)break;//エスケープが入力されたらブレイク
ScreenFlip();//裏画面反映
}
DxLib_End();
return 0;
}
key.cpp
コード:
#include"GlobalVariable.h"
int stateKey[256];
int GetHitKeyStateAll_2(){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll(GetHitKeyStateAll_Key);
for (int i = 0; i<256; i++){
if (GetHitKeyStateAll_Key[i] == 1) stateKey[i]++;
else stateKey[i] = 0;
}
return 0;
}
int CheckStateKey(unsigned char Handle){
return stateKey[Handle];
}
graph.cpp
コード:
#include"GlobalVariable.h"
extern ch_t ch;
extern int img_ch[2][12];
void graph_ch(){
DrawRotaGraphF(ch.x, ch.y, 1.0f, 0.0f, img_ch[0][ch.img], TRUE);
}
void graph_main(){
graph_ch();
}
load.cpp
コード:
#include"GlobalVariable.h"
extern int img_ch[2][12];
void load(){
LoadDivGraph("0.png", 12, 4, 3, 73, 73, img_ch[0]);
}
GV.h
コード:
#include"DxLib.h"
#include"Define.h"
define.h
struct.h
コード:
struct ch_t{
int flag; //フラグ
int count; //カウンタ
int power; //パワー
int point; //ポイント
int score; //スコア
int num; //残機数
int invinciblecount; //無敵状態とカウント
int shotmode; //ショットモード
int money; //お金
int img; //画像
int slow; //スロー
double x, y; //座標
};
となりました
一部変えました。
コンパイルは通ったのですがキャラが描画されません
0.pngは.cppなどが入っているファイルに直接入れたので読み込めてないわけではないような気がするのですが。
間違っている箇所や、C++ならここは変更すべき!
といったところがあれば指摘していただけるとありがたいです。
またその理由も教えていただけると助かります。