<環境>Win8.1、VS2013
<エラー>swatter.hの関数が定義されていない(main.cppで文頭の#include"Face.h"と#include"swatter.h"の順番を入れ替えるとFace.hの関数が定義されなくなります)
<画像>顔.jpg ハエたたき.png
code
/main.cpp/
#include "DxLib.h"
#include"swatter.h"
#include"Face.h"
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){
ChangeWindowMode(FALSE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード変更と初期化と裏画面設定
S_Initialize();//初期化
Face_Initialize();//初期化
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0){
S_Update();//計算
Face_Draw();//描画
► スポイラーを表示
}
S_Finalize();//終了処理
DxLib_End();
return 0;
}
/code
code
/Face.cpp/
#include "DxLib.h"
#include "Face.h"
// このファイル内でしか使えないグローバル変数
static int Handle00; //画像ハンドル
// 初期化をする
void Face_Initialize(){
Handle00 = LoadGraph("画像/顔.jpg");
}
// 描画する
void Face_Draw(){
DrawRotaGraph(325, 250, 3.5, 0, Handle00, TRUE);
}
// 終了処理をする
void Face_Finalize(){
DeleteGraph(Handle00);
}
/code
code
/Face.h/
#pragma once
#ifndef DEF_PLAYER_H //二重include防止
#define DEF_PLAYER_H
// 初期化をする
void Face_Initialize();
// 描画する
void Face_Draw();
// 終了処理をする
void Face_Finalize();
#endif
/code
code
/swatter.cpp/
#include "DxLib.h"
#include "swatter.h"
int Key[256]; // キーが押されているフレーム数を格納する
int x = 320, y = 240;
int Handle01; //画像ハンドル
// キーの入力状態を更新する
int gpUpdateKey(){
char tmpKey[256]; // 現在のキーの入力状態を格納する
GetHitKeyStateAll(tmpKey); // 全てのキーの入力状態を得る
for (int i = 0; i<256; i++){
if (tmpKey != 0){ // i番のキーコードに対応するキーが押されていたら
Key++; // 加算
}
else { // 押されていなければ
Key = 0; // 0にする
}
}
return 0;
}
// 初期化をする
void S_Initialize(){
Handle01 = LoadGraph("画像/ハエたたき.png");
}
// 動きを計算する
void S_Update(){
if (Key[KEY_INPUT_RIGHT] >= 1){
x++;
}
if (Key[KEY_INPUT_DOWN] >= 1){
y++;
}
if (Key[KEY_INPUT_LEFT] >= 1){
x--;
}
if (Key[KEY_INPUT_UP] >= 1){
y--;
}
}
// 描画する
void S_Draw(){
DrawRotaGraph(x, y, 0.05, 0, Handle01, TRUE);
}
// 終了処理をする
void S_Finalize(){
DeleteGraph(Handle01);
}
/code
code
/swatter.h/
#ifndef DEF_PLAYER_H //二重include防止
#define DEF_PLAYER_H
// 初期化をする
void S_Initialize();
// 動きを計算する
void S_Update();
// 描画する
void S_Draw();
// 終了処理をする
void S_Finalize();
#endif
/code