その後、順調に進んでおりましたが、下記のコードにて
「1>c:\documents and settings\kt\my documents\visual studio 2008\projects\whentory\main.cpp(4) : fatal error C1014: インクルード ファイルが多すぎます : 深さ = 1024」
というエラーが出てしまいました。main.cppの上から4番目というところまではわかり、深さとあるので、GLOBALファイルの位置を変えたり、検索した解決策を試していましたが、どうにもうまくいかないため、再度ご質問させていただきたいです。
OS;WindowsXP コンパイラ;Visual Studio 2008です。
画像を表示し、矢印キーで上下左右に操作したいと思っています。(000018.pngの表示がおかしくなってます)
ご指導のほど、お願いいたします。
各ファイルの位置をスクリーンショットで撮ってみました。ご参考にされば幸いです。
http://whitecats.dip.jp/up0/download/1413695665.zip
pass:1111
// ここから
#define GLOBAL_INSTANCE
#include "../inc/GLOBAL.h"
// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
// 初期化(ウィンドウモード、ウィンドウサイズ、DXライブラリ)
if (ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK ||
SetGraphMode( WX, WY, 16) != DX_CHANGESCREEN_OK ||
DxLib_Init() == - 1)
{
return -1;
}
// 画像読み込み
SetTransColor( 128, 132, 220);
LoadDivGraph("../dat/img/000018.png", 16, 6, 5, 170, 204,img);
// 描画位置の初期化
st_ch.x = 64;
st_ch.y = 64;
st_ch.dx = 0;
st_ch.dy = 0;
st_ch.dir = 0;
// 描画先を裏画面に指定
SetDrawScreen(DX_SCREEN_BACK);
// メインループ
while(!ClearDrawScreen() && !ProcessMessage() && !GetHitKeyStateAll(key_buf) && !key_buf[KEY_INPUT_ESCAPE])
{
// 32で割れない場合は進む
if ((st_ch.x%32!=0)||(st_ch.y%32!=0))
{
st_ch.x += st_ch.dx;
st_ch.y += st_ch.dy;
}
// それ以外の場合、キーの入力状態を判定する
// (同時押しは不可)
else
{
st_ch.dx = 0;
st_ch.dy = 0;
// 上キー入力
if (key_buf[KEY_INPUT_UP] == 1)
{
// 移動後が範囲外になる場合はNG
if (st_ch.y - 32 >= 0)
{
st_ch.dy = -1;
}
st_ch.dir = 0;
}
// 下キー入力
else if (key_buf[KEY_INPUT_DOWN] == 1)
{
// 移動後が範囲外になる場合はNG
if (st_ch.y + 32 <= 480 - 32)
{
st_ch.dy = 1;
}
st_ch.dir = 2;
}
// 左キー入力
else if (key_buf[KEY_INPUT_LEFT] == 1)
{
// 移動後が範囲外になる場合はNG
if (st_ch.x - 32 >= 0)
{
st_ch.dx = -1;
}
st_ch.dir = 3;
}
// 右キー入力
else if (key_buf[KEY_INPUT_RIGHT] == 1)
{
// 移動後が範囲外になる場合はNG
if (st_ch.x + 32 <= 640 - 32)
{
st_ch.dx = 1;
}
st_ch.dir = 1;
}
// キャラを移動
st_ch.x += st_ch.dx;
st_ch.y += st_ch.dy;
}
// キャラクタ描画
if ((st_ch.x%32+st_ch.y%32) < 8) {
st_ch.img = img_ch[st_ch.dir*3 + 1];
}
else if ((st_ch.x%32+st_ch.y%32) < 16) {
st_ch.img = img_ch[st_ch.dir*3 + 0];
}
else if ((st_ch.x%32+st_ch.y%32) < 24) {
st_ch.img = img_ch[st_ch.dir*3 + 1];
}
else if ((st_ch.x%32+st_ch.y%32) < 32) {
st_ch.img = img_ch[st_ch.dir*3 + 2];
}
DrawGraph( st_ch.x, st_ch.y, st_ch.img, TRUE);
// 裏画面を表画面に描画
ScreenFlip();
}
// DXライブラリ終了処理
DxLib_End();
// プログラム終了
return 0;
}
// ここまで