制作ゲームのロード時のエラーについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ryosei
記事: 8
登録日時: 5年前

制作ゲームのロード時のエラーについて

#1

投稿記事 by ryosei » 5年前

私は初めてここで質問させていただきます
フォーラムルールには目を通しましたが失礼があればお詫びいたします。

環境
 OS:Windows10
 コンパイラ:VC++
その他
 C++を中心にコーディングしております
 DXライブラリを使用させていただいております
質問文
 今、私は3Dゲームを制作しています。
 しかし下記コードにてプレイヤーがMapを0から1に移動し、1から0に移動後
 0から5に移動するとこのようなエラーがでて、Map5の*BuildingModel[0]が読み込まれません。別の事例で はMap0からMap1に移動後、Map3に移動するとゲーム全体の当たり 判定で あるBlockクラスのオブジェク トが反応(座標が特定の位置に来た時にプレイヤーの移動を止める)処理が利かなくなったりします。そしてそ れらが起こるとき毎回VC++にこのような出力がされます

34468:ヒープ用メモリの確保に失敗しました
34468:ヒープ用メモリの確保に失敗しました
34469:ヒープ用メモリの確保に失敗しました
34470:ヒープ用メモリの確保に失敗しました
34470:ヒープ用メモリの確保に失敗しました
34471:ヒープ用メモリの確保に失敗しました
34471:
34472:Alloc memory dump
34473: size: 12816( 12.516kb) user size: 12704( 12.406kb) time:30230 file:\Main\DxModel.cpp line:21378 ID:22697 addr:176c00b0 data:[01 00 00 00 00 00 01 34 02 00 00 00 d2 00 00 00]
~~~~~~~~~~~~~~省略(似たような文章が続く)
34473: size: 3392( 3.312kb) user size: 3272( 3.195kb) time:30263 file:NoName line:0 ID:105544 addr:176cd1a0 data:[b0 d1 6c 17 e0 de 6c 17 00 00 00 00 b8 0c 00 00]

34935: Total size:297465290(290493.437kb) Alloc num:722
34936:
34937:Read Model Convert Error : 頂点座標と頂点法線を一時的に格納するメモリ領域の確保に失敗しました
34939:VMD Load Error : 対応していない VMD バージョンです


 私はメモリの開放がされていないのだと思い5日ほど原因究明に当たりましたが結局わからず仕舞いになってし まったのでこちらで質問させていただきました
 
 そしてこちらがコードです、拙いコードですが有識者の方々よろしければお力をお貸しください

コード:

#define _CRT_SECURE_NO_WARNINGS
#include <DxLib.h>
#include <math.h>
//
//FPSの表示
class Fps {
	int mStartTime;         //測定開始時刻
	int mCount;             //カウンタ
	float mFps;             //fps
	static const int N = 60;//平均を取るサンプル数


public:
	Fps() {
		mStartTime = 0;
		mCount = 0;
		mFps = 0;
	}

	bool Update() {
		if (mCount == 0) { //1フレーム目なら時刻を記憶
			mStartTime = GetNowCount();
		}
		if (mCount == N) { //60フレーム目なら平均を計算する
			int t = GetNowCount();
			mFps = 1000.f / ((t - mStartTime) / (float)N);
			mCount = 0;
			mStartTime = t;
		}
		mCount++;
		return true;
	}

	void Draw() {
		DrawFormatString(0, 0, GetColor(0, 0, 0), "%.1f", mFps);
	}

};
Fps fps;
//
//コントローラーの入力	常に使うので開放はなし
int Pad1F[32];
int Pad1AnalogX;
int Pad1AnalogY;
int UpdataKey1() {
	//ゲームパッドのボタン入力
	int Pad1Type[32] = {
		PAD_INPUT_DOWN ,PAD_INPUT_LEFT ,PAD_INPUT_RIGHT ,PAD_INPUT_UP,
		PAD_INPUT_1,PAD_INPUT_2,PAD_INPUT_3,PAD_INPUT_4,
		PAD_INPUT_5,PAD_INPUT_6,PAD_INPUT_7,PAD_INPUT_8,
		PAD_INPUT_9,PAD_INPUT_10,PAD_INPUT_11,PAD_INPUT_12,
		PAD_INPUT_13,PAD_INPUT_14,PAD_INPUT_15,PAD_INPUT_16,
		PAD_INPUT_17,PAD_INPUT_18,PAD_INPUT_19,PAD_INPUT_20,
		PAD_INPUT_21,PAD_INPUT_22,PAD_INPUT_23,PAD_INPUT_24,
		PAD_INPUT_25,PAD_INPUT_26,PAD_INPUT_27,PAD_INPUT_28
	};
	for (int i = 0; i < 32; i++) {
		//キーが押されていないとき
		if ((GetJoypadInputState(DX_INPUT_PAD1)&Pad1Type[i]) == 0) {
			Pad1F[i] = 0;
		}
		else {
			Pad1F[i]++;
		}
	}
	//アナログレバーの入力
	GetJoypadAnalogInput(&Pad1AnalogX, &Pad1AnalogY, DX_INPUT_PAD1);
	return 0;
}


//自機クラス
class Player {
public:

	//プレイヤーの座標
	float x = 0.0f;
	float y = 0.0f;
	float z = -10.0f;
	//プレイヤーのカメラモード展開時の場所
	float cx, cy, cz;
	//プレイヤーの移動前座標
	float oldX, oldY, oldZ;
	//プレイヤーの当たり判定
	float upY = y + 20.0f;//高さ
	const float r = 15.0f;//半径
						  //プレイヤーの移動速度
	float speed = 0.5f;
	//プレイヤーの移動真偽(移動できなくするとき
	bool move[4] = { true, true, true, true };
	//プレイヤーの向き
	float vector = 0.0f;
	//プレイヤーの視点
	float viewPoint = 20.0f;

	//空中いどう関連	
	bool highLimit = false;//プレイヤーの天井接地
	bool ground = true;//プレイヤーの接地	
	bool gravity = false;//プレイヤーの重力
	bool gravityAnti = false;//プレイヤーの浮力

							 //モーション関連
	float totalTime = 0.0f;//モーション総再生時間の保存
	float playTime = 0.0f;//再生時間
	int attachIndex;//モーションデータを格納
	float motionSpeed = 0.5f;
	bool motionLoopNum = 0;

	//プレイヤーのアイテムボックス
	bool itemBoxOpen = false;//アイテムボックスの描画
	int itemBox[10] = { 0,0,0,0,0,0,0,0,0,0 };//
	int itemBoxCursor = 0;

	//プレイヤーのお金
	int money = 500;
	//プレイヤーの会話判定
	bool tolk = false;
	//プレイヤーの会話番号
	int tolkNum = -1;
	//プレイヤーの会話している相手の番号
	int tolkNPCNum = -1;
};
//NPCクラス
class NPC {
public:
	//座標
	float x = 0.0f;
	float y = 0.0f;
	float z = 0.0f;
	//移動するかどうか
	bool move = true;
	//アニメーションの時間
	float totalTime = 0.0f;//モーション総再生時間の保存
	float playTime = 0.0f;//再生時間
	int attachIndex;//モーションデータを格納
	float motionSpeed;//モーションの再生スピード
	int motionNum = 0;//モーションの番号
	void SetNPC(int X, int Y, int Z) { x = (float)X; y = (float)Y; z = (float)Z; };

	// "魔力茸","紅魔ベリー","茸茶","恋色砂糖","氷精の氷","マジック花火","スカーレット・ワイン","かき氷","8","9" };
	int loveUP[10] = { 0,0,1,6,0,3,5,7,0,0 };//アイテムによって上げる好感度を変える
	int loveMeter = 0;//好感度	セーブする
					  //回転移動	ループ
	double angle = 0.0;
	void CircleMove(int OX, int OZ, float R, bool Right, double Speed);
};
//中心点と半径、回転方向、スピードを渡すと回転移動させる 
void NPC::CircleMove(int OX, int OZ, float R, bool Right, double Speed) {
	double rad;
	//一周すると角度を0にする
	if (angle > 360 || angle < -360) {
		angle = 0.0;
	}
	if (Right == true) {//方向を確認
		angle -= Speed;//1Fおきに角度を加算
	}
	else {
		angle += Speed;
	}

	rad = angle * DX_PI_F / 180.0;//ラジアン計算
	z = (float)(OZ + R * sin(rad));//位置を計算し代入する
	x = (float)(OX - R * cos(rad));
}
//カメラクラス
class Camera {
public:
	float x = 0.0f;//位置
	float z = 0.0f;
	float y = 30.0f;//高さ
	float target = 20.0f;//カメラのターゲット
	float r = 20.0f;//移動半径
	float speed = 1.0f;//移動スピード
	int angle = 0;//キャラクターに対するカメラの角度
	int viewMode = 0;//初期値は三人称支店

};
//地面クラス
class Ground {
public:
	int x[2];
	int y;
	int z[2];
	bool house = true;//室内の場合は飛べなくする
	void SetGround(int X0, int Z0, int X1, int Z1, int Y) { x[0] = X0; x[1] = X1;   z[0] = Z0; z[1] = Z1; y = Y; };
	//Ground() { groundNumT++; };
	//~Ground() { groundNumT--; };
};
//天井クラス
class HighLimit {
public:
	int x[2];
	int y;
	int z[2];
	void SetHighLimit(int X0, int Z0, int X1, int Z1, int Y) { x[0] = X0; x[1] = X1;   z[0] = Z0; z[1] = Z1; y = Y; };
	
	//HighLimit() { highLimitNumT++; };
	//~HighLimit() { highLimitNumT--; };
};
//バークラス
class Bar {//円柱オブジェクト
public:
	int x;//位置
	int z;
	int downY;//高さ
	int upY;
	float r;//半径
	int tolk = -1;//会話するとき
	void SetBar(int X, int Z, int DOWNY, int UPY, float R) { x = X; z = Z; downY = DOWNY; upY = UPY; r = R; };

	//Bar() { barNumT++; };
	//~Bar() { barNumT--; };
};
//ブロッククラス
class Block {
public:
	int x[2];
	int z[2];
	int y[2];
	void SetBlock(int X0, int Y0, int Z0, int X1, int Y1, int Z1) { x[0] = X0; x[1] = X1; y[0] = Y0; y[1] = Y1;  z[0] = Z0; z[1] = Z1; };
	int mapMove = -1;
	//Block() { blockNumT++; };
	//~Block() { blockNumT--; };
};
//△ブロッククラス
class BlockTriangle {
public:
	float x[2];	float z[2];	float y[2];
	double angle = 0.0;
	int vector;
	bool gravityAnti = false;//飛行状態のままスロープが使いたいとき
	void SetBlockT(int X0, int Y0, int Z0, int X1, int Y1, int Z1, int Vector);
	//BlockTriangle() { blockTNumT++; };
	//~BlockTriangle() { blockTNumT--; };
};
void BlockTriangle::SetBlockT(int X0, int Y0, int Z0, int X1, int Y1, int Z1, int Vector) {
	x[0] = (float)X0; x[1] = (float)X1; y[0] = (float)Y0; y[1] = (float)Y1;  z[0] = (float)Z0; z[1] = (float)Z1;
	vector = Vector;
	double x, y;
	double radT;
	switch (Vector) {
	case 0:
		x = Z1 - Z0;
		y = Y1 - Y0;
		break;
	case 1:
		x = Z1 - Z0;
		y = Y0 - Y1;
		break;
	case 2:
		x = X0 - X1;
		y = Y0 - Y1;
		break;
	case 3:
		x = X0 - X1;
		y = Y1 - Y0;
		break;
	}
	radT = atan((y / x));
	angle = radT * 180 / DX_PI_F;
	angle += 4.5;
};
//ドロップアイテムクラス
class DropItem {
public:
	int x, y, z;//位置
	int num;//採取できるアイテムのナンバー
	int max = 5;//採取最大個数 マップ移動で回復
	void SetDropItem(int X, int Y, int Z, int Num) { x = X; y = Y; z = Z; num = Num; };

	//DropItem() { dropItemNumT++; };
	//~DropItem() { dropItemNumT--; };
};




//宣言
Player player;//自機クラス	開放はなし
Camera camera;//カメラクラス

int map = 0;//マップ番号 0博麗神社
int oldMap = -1;//移動前のマップ番号
int* BGMHandle;//BGMハンドル

			  //セーブ内容
typedef struct {
	//プレイヤー情報保存
	int money;
	int itemBox[10];
	int npcLoveMeter[8] = { 0,0,0,0,0,0,0,0 };
}SaveData_t;
SaveData_t Data;
//セーブデータに好感度保存
void SetSaveLoveMeter(int Num, int LoveMeter) {
	Data.npcLoveMeter[Num] = LoveMeter;
}
//好感度をセーブデータから取得
int GetSaveLoveMeter(int Num) {
	return Data.npcLoveMeter[Num];
}
//セーブ
void Save() {
	//データを代入
	Data.money = player.money;
	for (int i = 0; i < 10; i++) {
		Data.itemBox[i] = player.itemBox[i];
	}
	//データをファイルに保存
	FILE *fp = fopen("セーブデータ.dat", "wb");
	if (fp == NULL) {
		return;
	}
	fwrite(&Data, sizeof(Data), 1, fp);
	fclose(fp);
}
void LoadData() {
	FILE *fp = fopen("セーブデータ.dat", "rb");
	if (fp == NULL) {
		return;
	}
	fread(&Data, sizeof(Data), 1, fp);
	fclose(fp);
	//数値代入
	player.money = Data.money;
	for (int i = 0; i < 10; i++) {
		player.itemBox[i] = Data.itemBox[i];
	}
}

float mathX, mathZ;//計算用変数
int stopTime = 0;//当たり判定で利用 
void StopMove() {//当たり判定による移動の停止&カメラ移動の停止
	for (int i = 0; i < 4; i++) {
		player.move[i] = false;
	}
	player.x = player.oldX;
	player.y = player.oldY;
	player.z = player.oldZ;
}
//NPCをプレイヤーの方向に向かせる(日常)
double NPCVector(int X, int Z) {
	double tanA;
	tanA = (player.z - Z) / (player.x - X);
	double radA;
	radA = atan(tanA);
	double angle;
	angle = 90.0 - radA * 180.0 / DX_PI_F;
	if (player.z < Z && player.x<X) {
		angle += 0.0;
	}
	else if (player.z < Z && player.x>X) {
		angle += 180.0;
	}
	else if (player.z > Z && player.x<X) {
		angle += 0.0;
	}
	else if (player.z > Z && player.x>X) {
		angle += 180.0;
	}
	return angle;
}				
コードが入り切りませんでしたので分割して送信させていただきます

ryosei
記事: 8
登録日時: 5年前

Re: 制作ゲームのロード時のエラーについて

#2

投稿記事 by ryosei » 5年前

すいません、コードがあまりに長すぎて2,3スレッドを使っても入りきりませんでした。
Zipファイルの中にテキストファイルとして保存されております。
添付ファイル
ゲームコード.zip
(49.64 KiB) ダウンロード数: 136 回

Math

Re: 制作ゲームのロード時のエラーについて

#3

投稿記事 by Math » 5年前

TEXTファイル 1個しかないようですが 実際の全ファイルの構成はどうなってますか?
(file:\Main\DxModel.cpp とか・・・)
VC++ とは VS2017Communityですか?

rulesに書いてあったと思いますが

---------------------------------------------------------------
1.自分は今何がしたくて
2.どう取り組んで(作ったプログラムはどれで
3.どのようなエラーやトラブルで困っていて
4.自分は何が解らないのか、知りたいのか
5.今のCの知識はどの程度なのか
この5点をしっかりと明記して下さい。
ーーーーーーーーーーーーーーーーーーーーーーー

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: 制作ゲームのロード時のエラーについて

#4

投稿記事 by みけCAT » 5年前

コードが7089行もあり、読むのが大変です。
最小限の・自己完結した・確認可能なサンプルコードの作成と提示をお願いしたいです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: 制作ゲームのロード時のエラーについて

#5

投稿記事 by みけCAT » 5年前

intへのポインタの配列を用意し、わざわざ1個ずつintのオブジェクトを確保し、
そこにオブジェクトハンドルを入れるというのは、あまり見ないパターンですね。
そして、このオブジェクトハンドルを入れたintのオブジェクトをdeleteしても、
DXライブラリで確保したオブジェクト(画像、音、モデルなど)の領域を開放することはできません。
DXライブラリで確保したオブジェクトの領域を開放するには、
それぞれに対応したDXライブラリの関数を使わないといけません。

(本当にオブジェクトがリークしているかは確認していません)
(よく見たら、オブジェクトもちゃんと開放している場所もありますね)
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

ryosei
記事: 8
登録日時: 5年前

Re: 制作ゲームのロード時のエラーについて

#6

投稿記事 by ryosei » 5年前

最初に返信方への変身です
1.ロード時のエラーによるモデルの読み込みバグを直したい
2.Textのコードはほとんど自分で書きました(一部引用あり)
3.エラーについては上で触れていると思います
4.なぜ、ロード時にモデルが読み込めなくなるのかが知りたい
5.Cの知識はほとんどなく、C++の知識は参考書(やさしいC++)一冊分はあります

みけCATさんへの返信
一度、DXライブラリにあるデータの削除方法で(DeleteModel()など)でデータを削除しましたが
それでもうまくいかず、intの配列も削除してみました。今のコードではオブジェクトの領域を確保した後
intのポインタの配列も削除しています

ryosei
記事: 8
登録日時: 5年前

Re: 制作ゲームのロード時のエラーについて

#7

投稿記事 by ryosei » 5年前

コードの原因と思われる場所だけ簡略化してきました
本当のコードは後でZIPファイルにして送ります

コード:

//コードが長いので原因と思われる場所のみを簡略化してきました
//後ですべてのファイルをZIPにして送ります
//[code]
#include <DxLib.h>
#include <math.h>

//NPCクラス
class NPC {
public:
};

//地面クラス
class Ground {
public:
	int x[2];
	int y;
	int z[2];
	bool house = true;//室内の場合は飛べなくする
	void SetGround(int X0, int Z0, int X1, int Z1, int Y) { x[0] = X0; x[1] = X1;   z[0] = Z0; z[1] = Z1; y = Y; };
};
//天井クラス
class HighLimit {
public:
	int x[2];
	int y;
	int z[2];
	void SetHighLimit(int X0, int Z0, int X1, int Z1, int Y) { x[0] = X0; x[1] = X1;   z[0] = Z0; z[1] = Z1; y = Y; };
};
//バークラス
class Bar {//円柱オブジェクト
public:
	int x;//位置
	int z;
	int downY;//高さ
	int upY;
	float r;//半径
	int tolk = -1;//会話するとき
	void SetBar(int X, int Z, int DOWNY, int UPY, float R) { x = X; z = Z; downY = DOWNY; upY = UPY; r = R; };
};
//ブロッククラス
class Block {
public:
	int x[2];
	int z[2];
	int y[2];
	void SetBlock(int X0, int Y0, int Z0, int X1, int Y1, int Z1) { x[0] = X0; x[1] = X1; y[0] = Y0; y[1] = Y1;  z[0] = Z0; z[1] = Z1; };
	int mapMove = -1;
};
//△ブロッククラス
class BlockTriangle {
public:
	float x[2];	float z[2];	float y[2];
	double angle = 0.0;
	int vector;
	bool gravityAnti = false;//飛行状態のままスロープが使いたいとき
	void SetBlockT(int X0, int Y0, int Z0, int X1, int Y1, int Z1, int Vector);
};
void BlockTriangle::SetBlockT(int X0, int Y0, int Z0, int X1, int Y1, int Z1, int Vector) {
	x[0] = (float)X0; x[1] = (float)X1; y[0] = (float)Y0; y[1] = (float)Y1;  z[0] = (float)Z0; z[1] = (float)Z1;
	vector = Vector;
	double x, y;
	double radT;
	switch (Vector) {
	case 0:
		x = Z1 - Z0;
		y = Y1 - Y0;
		break;
	case 1:
		x = Z1 - Z0;
		y = Y0 - Y1;
		break;
	case 2:
		x = X0 - X1;
		y = Y0 - Y1;
		break;
	case 3:
		x = X0 - X1;
		y = Y1 - Y0;
		break;
	}
	radT = atan((y / x));
	angle = radT * 180 / DX_PI_F;
	angle += 4.5;
};
//ドロップアイテムクラス
class DropItem {
public:
	int x, y, z;//位置
	int num;//採取できるアイテムのナンバー
	int max = 5;//採取最大個数 マップ移動で回復
	void SetDropItem(int X, int Y, int Z, int Num) { x = X; y = Y; z = Z; num = Num; };
};


int map = 0;//マップ番号 0博麗神社
int oldMap = -1;//移動前のマップ番号
int* BGMHandle;//BGMハンドル


int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {

	ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK);

	int ScreenNum = 0;//画面番号
	NPC* npc[8];//NPCクラス	
				//当たり判定オブジェクト数
	int barNum = 0;
	int blockNum = 0;
	int blockTNum = 0;
	int highLimitNum = 0;
	int groundNum = 0;
	int dropItemNum = 0;

	const int objectMax = 200;
	Bar* bar[objectMax];//当たり判定クラス バー
	Block* block[objectMax];//当たり判定クラス ブロック
	BlockTriangle* blockT[objectMax];//当たり判定クラス 三角ブロック
	Ground* ground[objectMax];//当たり判定クラス	地面
	HighLimit* highLimit[objectMax];//当たり判定クラス 天井
	DropItem* dropItem[objectMax];//ドロップアイテムのクラス

								  //3Dモデルの数
	int charaModelNum = 0;
	int buildingModelNum = 0;

	//画像読み込み
	int* ImageHandle[150];
	for (int i = 0; i < 40; i++) {
		if (i < 5)
			ImageHandle[i] = new int;
		if (i == 9)
			ImageHandle[i] = new int;
		if (27 < i)
			ImageHandle[i] = new int;
	}
	*ImageHandle[0] = LoadGraph("Image/ロード背景.png");
	*ImageHandle[1] = LoadGraph("Image/陰陽玉.png");
	*ImageHandle[2] = LoadGraph("Image/タイトル.png");
	*ImageHandle[3] = LoadGraph("Image/オプション.png");
	*ImageHandle[4] = LoadGraph("");
	*ImageHandle[9] = LoadGraph("");

	*ImageHandle[28] = LoadGraph("");
	*ImageHandle[29] = LoadGraph("Image/操作指示ベース.png");
	*ImageHandle[30] = LoadGraph("Image/アイテムボックス.png");
	*ImageHandle[31] = LoadGraph("Image/アイテムボックス_詳細.png");
	*ImageHandle[32] = LoadGraph("Image/魔力茸.png");
	*ImageHandle[33] = LoadGraph("Image/紅魔ベリー.png");
	*ImageHandle[34] = LoadGraph("Image/茸茶.png");
	*ImageHandle[35] = LoadGraph("Image/恋色砂糖.png");
	*ImageHandle[36] = LoadGraph("Image/氷精の氷.png");
	*ImageHandle[37] = LoadGraph("Image/マジック花火.png");
	*ImageHandle[38] = LoadGraph("Image/スカーレットワイン.png");
	*ImageHandle[39] = LoadGraph("Image/かき氷.png");
	int* SEHandle[10];//SEの読み込み
	SEHandle[2] = new int;
	*SEHandle[2] = LoadSoundMem("Music/SE/足音.ogg");

	//3Dモデル読み込み
	int* CharaModel[10];//キャラクターモデル

	int PlayerModel;
	PlayerModel = MV1LoadModel("3D/キャラ/霊夢 [にがもん式]Ver 0.1_s05a.pmx");//霊夢
	int* BuildingModel[15];//建物モデル
	BuildingModel[14] = new int;
	*BuildingModel[14] = MV1LoadModel("3D/建物/スカイドーム/高原.x");//天球のモデル
														   //ロード画面で使用
	int LoadTime = 0;

	//ループ処理
	while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()) {

		switch (ScreenNum) {
		case 2://ロード画面
			   //補足:oldMapは移動する前のMapが代入されます
			LoadTime++;
			if (LoadTime == 2) {
				//全体のデータ削除
				if (oldMap != -1) {
					switch (oldMap) {
					case 0://博麗神社
						break;
					case 1://紅魔郷
						   //NPCオブジェクトの削除
						delete npc[0];
						delete npc[1];
						delete npc[2];
						//画像の削除
						for (int i = 17; i < 24; i++) {
							DeleteGraph(*ImageHandle[i]);
							delete ImageHandle[i];
						}
						for (int i = 67; i < 74; i++) {
							DeleteGraph(*ImageHandle[i]);
							delete ImageHandle[i];
						}
						for (int i = 87; i < 94; i++) {
							DeleteGraph(*ImageHandle[i]);
							delete ImageHandle[i];
						}
						//SEの削除
						DeleteSoundMem(*SEHandle[3]);
						DeleteSoundMem(*SEHandle[4]);
						DeleteSoundMem(*SEHandle[5]);
						delete SEHandle[3];
						delete SEHandle[4];
						delete SEHandle[5];
						break;
					case 2://霧雨魔法店
						delete npc[3];
						//画像の削除						
						for (int i = 17; i < 25; i++) {
							DeleteGraph(*ImageHandle[i]);
							delete ImageHandle[i];
						}
						//SEの削除
						DeleteSoundMem(*SEHandle[3]);
						DeleteSoundMem(*SEHandle[5]);
						delete SEHandle[3];
						delete SEHandle[5];
						break;
					case 3://紅魔館_廊下
						delete npc[4];
						//画像の削除
						for (int i = 17; i < 24; i++) {
							DeleteGraph(*ImageHandle[i]);
							delete ImageHandle[i];
						}
						//SEの削除
						DeleteSoundMem(*SEHandle[3]);
						DeleteSoundMem(*SEHandle[4]);
						delete SEHandle[3];
						delete SEHandle[4];
						break;
					case 4://紅魔館_図書館
						delete npc[5];
						//画像の削除
						for (int i = 17; i < 25; i++) {
							DeleteGraph(*ImageHandle[i]);
							delete ImageHandle[i];
						}
						//SEの削除
						DeleteSoundMem(*SEHandle[3]);
						DeleteSoundMem(*SEHandle[4]);
						delete SEHandle[3];
						delete SEHandle[4];
						break;
					case 5://人里
						break;
					}
					//オブジェクトの削除
					for (int i = 0; i < objectMax; i++) {
						if (i < blockNum)
							delete block[i];
						if (i < barNum)
							delete bar[i];
						if (i < blockTNum)
							delete blockT[i];
						if (i < groundNum)
							delete ground[i];
						if (i < highLimitNum)
							delete highLimit[i];
						if (i < dropItemNum)
							delete dropItem[i];
					}
					//3Dの削除
					for (int i = 0; i < charaModelNum; i++) {
						MV1DeleteModel(*CharaModel[i]);
						delete CharaModel[i];
					}
					for (int i = 0; i < buildingModelNum; i++) {
						MV1DeleteModel(*BuildingModel[i]);
						delete BuildingModel[i];
					}
				}

				//博麗神社 
				if (map == 0) {
					//必要なオブジェクト数
					barNum = 12;
					blockNum = 21;
					blockTNum = 14;
					highLimitNum = 1;
					groundNum = 9;
					dropItemNum = 0;
					//3Dのモデル数
					charaModelNum = 0;
					buildingModelNum = 1;
					for (int i = 0; i < charaModelNum; i++) {
						CharaModel[i] = new int;
					}
					for (int i = 0; i < buildingModelNum; i++) {
						BuildingModel[i] = new int;
					}
					//ロード
					*BuildingModel[0] = MV1LoadModel("3D/建物/map0/NuKasa_博麗神社mk2/博麗神社mk2.mqo");//博麗神社

																							  //当たり判定オブジェクトの作成
					for (int i = 0; i < objectMax; i++) {
						if (i < blockNum)
							block[i] = new Block;
						if (i < barNum)
							bar[i] = new Bar;
						if (i < blockTNum)
							blockT[i] = new BlockTriangle;
						if (i < groundNum)
							ground[i] = new Ground;
						if (i < highLimitNum)
							highLimit[i] = new HighLimit;
						if (i < dropItemNum)
							dropItem[i] = new DropItem;
					}
					//当たり判定の作成


					DeleteSoundMem(*BGMHandle);//音楽停止&削除
					delete BGMHandle;
					BGMHandle = new int;
					*BGMHandle = LoadSoundMem("Music/BGM/博麗神社.ogg");//音楽を切り替え
					PlaySoundMem(*BGMHandle, DX_PLAYTYPE_LOOP);//音楽再生
				}
				//紅魔郷 
				else if (map == 1) {

					barNum = 11;//必要なオブジェクト数
					blockNum = 36;
					blockTNum = 17;
					highLimitNum = 1;
					groundNum = 9;
					dropItemNum = 5;


					//ロードや設定
					//3Dのモデル数
					charaModelNum = 3;
					buildingModelNum = 5;
					for (int i = 0; i < charaModelNum; i++) {
						CharaModel[i] = new int;
					}
					for (int i = 0; i < buildingModelNum; i++) {
						BuildingModel[i] = new int;
					}
					//当たり判定オブジェクトの作成
					for (int i = 0; i < objectMax; i++) {
						if (i < blockNum)
							block[i] = new Block;
						if (i < barNum)
							bar[i] = new Bar;
						if (i < blockTNum)
							blockT[i] = new BlockTriangle;
						if (i < groundNum)
							ground[i] = new Ground;
						if (i < highLimitNum)
							highLimit[i] = new HighLimit;
						if (i < dropItemNum)
							dropItem[i] = new DropItem;
					}
					npc[0] = new NPC;
					npc[1] = new NPC;
					npc[2] = new NPC;
					for (int i = 17; i < 24; i++) {
						ImageHandle[i] = new int;
					}
					for (int i = 67; i < 74; i++) {
						ImageHandle[i] = new int;
					}
					for (int i = 87; i < 94; i++) {
						ImageHandle[i] = new int;
					}
					//SEのロード
					SEHandle[3] = new int;
					SEHandle[4] = new int;
					SEHandle[5] = new int;
					*SEHandle[3] = LoadSoundMem("");
					*SEHandle[4] = LoadSoundMem("");
					*SEHandle[5] = LoadSoundMem("");
					//モデルのロード
					*CharaModel[0] = MV1LoadModel("");
					*CharaModel[1] = MV1LoadModel("");
					*CharaModel[2] = MV1LoadModel("");

					*BuildingModel[0] = MV1LoadModel("");//魔法の森 外観
					*BuildingModel[1] = MV1LoadModel("");
					*BuildingModel[2] = MV1LoadModel("");//湖
					*BuildingModel[3] = MV1LoadModel("");//紅魔館 外壁
					*BuildingModel[4] = MV1LoadModel("");//紅魔館_外観をロード

					*ImageHandle[17] = LoadGraph("");
					*ImageHandle[18] = LoadGraph("");
					*ImageHandle[19] = LoadGraph("");
					*ImageHandle[20] = LoadGraph("");
					*ImageHandle[21] = LoadGraph("");
					*ImageHandle[22] = LoadGraph("");
					*ImageHandle[23] = LoadGraph("");

					*ImageHandle[67] = LoadGraph("Ing");
					*ImageHandle[68] = LoadGraph("Ig");
					*ImageHandle[69] = LoadGraph("Im");
					*ImageHandle[70] = LoadGraph("Ima");
					*ImageHandle[71] = LoadGraph("Ing");
					*ImageHandle[72] = LoadGraph("Imng");
					*ImageHandle[73] = LoadGraph("Ing");

					*ImageHandle[87] = LoadGraph("");
					*ImageHandle[88] = LoadGraph("");
					*ImageHandle[89] = LoadGraph("I");
					*ImageHandle[90] = LoadGraph("Im_通常.png");
					*ImageHandle[91] = LoadGraph("Imag怒り.png");
					*ImageHandle[92] = LoadGraph("Image/ng");
					*ImageHandle[93] = LoadGraph("Im");


					DeleteSoundMem(*BGMHandle);//音楽停止&削除
					delete BGMHandle;
					BGMHandle = new int;
					*BGMHandle = LoadSoundMem("Mogg");//音楽を切り替え
					PlaySoundMem(*BGMHandle, DX_PLAYTYPE_LOOP);//音楽再生
					if (oldMap == 2 || oldMap == 3)
						PlaySoundMem(*SEHandle[3], DX_PLAYTYPE_BACK);//SE再生
				}
				//霧雨魔法店_店内
				else if (map == 2) {

					barNum = 1;//必要なオブジェクト数
					blockNum = 6;
					blockTNum = 0;
					highLimitNum = 0;
					groundNum = 1;
					dropItemNum = 0;
			
					//ロードや設定
					//3Dのモデル数
					charaModelNum = 1;
					buildingModelNum = 4;
					for (int i = 0; i < charaModelNum; i++) {
						CharaModel[i] = new int;
					}
					for (int i = 0; i < buildingModelNum; i++) {
						BuildingModel[i] = new int;
					}
					//当たり判定オブジェクトの作成
					for (int i = 0; i < objectMax; i++) {
						if (i < blockNum)
							block[i] = new Block;
						if (i < barNum)
							bar[i] = new Bar;
						if (i < blockTNum)
							blockT[i] = new BlockTriangle;
						if (i < groundNum)
							ground[i] = new Ground;
						if (i < highLimitNum)
							highLimit[i] = new HighLimit;
						if (i < dropItemNum)
							dropItem[i] = new DropItem;
					}
					npc[3] = new NPC;
					for (int i = 17; i < 25; i++) {
						ImageHandle[i] = new int;
					}
					//SEのロード
					SEHandle[3] = new int;
					SEHandle[5] = new int;
					*SEHandle[3] = LoadSoundMem("");
					*SEHandle[5] = LoadSoundMem("");
					*CharaModel[0] = MV1LoadModel("");

					*BuildingModel[0] = MV1LoadModel("");//魔法の森 内装
					*BuildingModel[1] = MV1LoadModel("");
					*BuildingModel[2] = MV1LoadModel("");
					*BuildingModel[3] = MV1LoadModel("");

					*ImageHandle[17] = LoadGraph("");
					*ImageHandle[18] = LoadGraph("");
					*ImageHandle[19] = LoadGraph("");
					*ImageHandle[20] = LoadGraph("");
					*ImageHandle[21] = LoadGraph("");
					*ImageHandle[22] = LoadGraph("");
					*ImageHandle[23] = LoadGraph("");
					*ImageHandle[24] = LoadGraph("");



					DeleteSoundMem(*BGMHandle);//音楽停止&削除
					delete BGMHandle;
					BGMHandle = new int;
					*BGMHandle = LoadSoundMem("");//音楽を切り替え
					PlaySoundMem(*BGMHandle, DX_PLAYTYPE_LOOP);//音楽再生
					if (oldMap == 1)
						PlaySoundMem(*SEHandle[3], DX_PLAYTYPE_BACK);//SE再生
				}
				//紅魔館_廊下
				else if (map == 3) {

					barNum = 1;//必要なオブジェクト数
					blockNum = 6;
					blockTNum = 0;
					highLimitNum = 0;
					groundNum = 1;
					dropItemNum = 0;
		
					//3Dのモデル数
					charaModelNum = 1;
					buildingModelNum = 2;
					for (int i = 0; i < charaModelNum; i++) {
						CharaModel[i] = new int;
					}
					for (int i = 0; i < buildingModelNum; i++) {
						BuildingModel[i] = new int;
					}
					//当たり判定オブジェクトの作成
					for (int i = 0; i < objectMax; i++) {
						if (i < blockNum)
							block[i] = new Block;
						if (i < barNum)
							bar[i] = new Bar;
						if (i < blockTNum)
							blockT[i] = new BlockTriangle;
						if (i < groundNum)
							ground[i] = new Ground;
						if (i < highLimitNum)
							highLimit[i] = new HighLimit;
						if (i < dropItemNum)
							dropItem[i] = new DropItem;
					}
					npc[4] = new NPC;
					for (int i = 17; i < 24; i++) {
						ImageHandle[i] = new int;
					}
					//SEのロード
					SEHandle[3] = new int;
					SEHandle[4] = new int;
					*SEHandle[3] = LoadSoundMem("");
					*SEHandle[4] = LoadSoundMem("");

					*BuildingModel[0] = MV1LoadModel("");//紅魔館の廊下
					*BuildingModel[1] = MV1LoadModel("");//箒
					*CharaModel[0] = MV1LoadModel("");//咲夜
					*ImageHandle[17] = LoadGraph("");
					*ImageHandle[18] = LoadGraph("");
					*ImageHandle[19] = LoadGraph("");
					*ImageHandle[20] = LoadGraph("");
					*ImageHandle[21] = LoadGraph("");
					*ImageHandle[22] = LoadGraph("");
					*ImageHandle[23] = LoadGraph("");


					DeleteSoundMem(*BGMHandle);//音楽停止&削除
					delete BGMHandle;
					BGMHandle = new int;
					*BGMHandle = LoadSoundMem("");//音楽を切り替え
					PlaySoundMem(*BGMHandle, DX_PLAYTYPE_LOOP);//音楽再生
					if (oldMap == 1 || oldMap == 4)
						PlaySoundMem(*SEHandle[3], DX_PLAYTYPE_BACK);//SE再生

				}
				//紅魔館_図書館 
				else if (map == 4) {


					barNum = 5;//必要なオブジェクト数
					blockNum = 47;
					blockTNum = 0;
					highLimitNum = 1;
					groundNum = 4;
					dropItemNum = 0;
					//画像、3Dのロード オプション移動時にはロードしない
					//3Dのモデル数
					charaModelNum = 1;
					buildingModelNum = 1;
					for (int i = 0; i < charaModelNum; i++) {
						CharaModel[i] = new int;
					}
					for (int i = 0; i < buildingModelNum; i++) {
						BuildingModel[i] = new int;
					}
					npc[5] = new NPC;
					//当たり判定オブジェクトの作成
					for (int i = 0; i < objectMax; i++) {
						if (i < blockNum)
							block[i] = new Block;
						if (i < barNum)
							bar[i] = new Bar;
						if (i < blockTNum)
							blockT[i] = new BlockTriangle;
						if (i < groundNum)
							ground[i] = new Ground;
						if (i < highLimitNum)
							highLimit[i] = new HighLimit;
						if (i < dropItemNum)
							dropItem[i] = new DropItem;
					}

					for (int i = 17; i < 25; i++) {
						ImageHandle[i] = new int;
					}
					//SEのロード
					SEHandle[3] = new int;
					SEHandle[4] = new int;
					*SEHandle[3] = LoadSoundMem("");
					*SEHandle[4] = LoadSoundMem("");

					*BuildingModel[0] = MV1LoadModel("");
					*CharaModel[0] = MV1LoadModel("");//チルノ

					*ImageHandle[17] = LoadGraph("");
					*ImageHandle[18] = LoadGraph("");
					*ImageHandle[19] = LoadGraph("");
					*ImageHandle[20] = LoadGraph("");
					*ImageHandle[21] = LoadGraph("");
					*ImageHandle[22] = LoadGraph("");
					*ImageHandle[23] = LoadGraph("");
					*ImageHandle[24] = LoadGraph("");

					//SEを鳴らす
					if (oldMap == 3)
						PlaySoundMem(*SEHandle[3], DX_PLAYTYPE_BACK);

				}
				//人里 日常
				else if (map == 5) {

					barNum = 16;//必要なオブジェクト数
					blockNum = 102;
					blockTNum = 129;
					highLimitNum = 1;
					groundNum = 4;
					dropItemNum = 0;

					//3Dのモデル数
					charaModelNum = 0;
					buildingModelNum = 4;
					for (int i = 0; i < charaModelNum; i++) {
						CharaModel[i] = new int;
					}
					for (int i = 0; i < buildingModelNum; i++) {
						BuildingModel[i] = new int;
					}
					//当たり判定オブジェクトの作成
					for (int i = 0; i < objectMax; i++) {
						if (i < blockNum)
							block[i] = new Block;
						if (i < barNum)
							bar[i] = new Bar;
						if (i < blockTNum)
							blockT[i] = new BlockTriangle;
						if (i < groundNum)
							ground[i] = new Ground;
						if (i < highLimitNum)
							highLimit[i] = new HighLimit;
						if (i < dropItemNum)
							dropItem[i] = new DropItem;
					}

					//SEのロード
					//まだない
					//データ読み込み
					*BuildingModel[0] = MV1LoadModel("");
					*BuildingModel[1] = MV1LoadModel("");
					*BuildingModel[2] = MV1LoadModel("");
					*BuildingModel[3] = MV1LoadModel("");

		
					DeleteSoundMem(*BGMHandle);//音楽停止&削除
					delete BGMHandle;
					BGMHandle = new int;
					*BGMHandle = LoadSoundMem("");//音楽を切り替え
					PlaySoundMem(*BGMHandle, DX_PLAYTYPE_LOOP);//音楽再生
				}

				//当たり判定オブジェクト設定ですが、長いと言われたので簡略化しております
				for (int i = 0; i < barNum; i++) {
					bar[i]->SetBar(0, 0, 0, 0, 0);
				}
				for (int i = 0; i < blockNum; i++) {
					block[i]->SetBlock(0, 0, 0, 0, 0, 0);
				}
				for (int i = 0; i < blockTNum; i++) {
					blockT[i]->SetBlockT(0, 0, 0, 0, 0, 0, 0);
				}
				for (int i = 0; i < highLimitNum; i++) {
					highLimit[i]->SetHighLimit(0, 0, 0, 0, 0);
				}
				for (int i = 0; i < groundNum; i++) {
					ground[i]->SetGround(0, 0, 0, 0, 0);
				}
				for (int i = 0; i < dropItemNum; i++) {
					dropItem[i]->SetDropItem(0, 0, 0, 0);
				}

			}
			if (ProcessMessage() != 0) {
				DxLib_End();
				return 0;
			}
			break;
		}

		if (ProcessMessage() != 0) {
			DxLib_End();
			return 0;
		}
	}
	DxLib_End();
	return 0;
}

ryosei
記事: 8
登録日時: 5年前

Re: 制作ゲームのロード時のエラーについて

#8

投稿記事 by ryosei » 5年前

こちらがすべてのデータになります。3Dデータや音楽ファイルは入っておりません

ryosei
記事: 8
登録日時: 5年前

Re: 制作ゲームのロード時のエラーについて

#9

投稿記事 by ryosei » 5年前

すいません送れていませんでしたもう一度送ります
添付ファイル
TouhouGame.zip
(43.72 MiB) ダウンロード数: 195 回

Math

Re: 制作ゲームのロード時のエラーについて

#10

投稿記事 by Math » 5年前

[about #2]
DXライブラリーを使ったプログラムをTEXTファイル形式で行えるように設定してみました。

b.bat

コード:

nmake -f g.mak
g.mak

コード:

TARGETNAME=ゲームコード

C_FLAGS=/c /TP /EHsc /D "_MBCS" /MT  /Ic:\dxlib /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /W3 

LINK_FLAGS=/SUBSYSTEM:WINDOWS /LIBPATH:c:\dxlib "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" 

ALL:
	cl $(C_FLAGS) $(TARGETNAME).txt 
	link /out:$(TARGETNAME).exe $(LINK_FLAGS) $(TARGETNAME).obj 
	$(TARGETNAME).exe
ゲームコード.txt(  試験用コード )

コード:

#include "DxLib.h"
#include "Math.h"

// プログラムは WinMain から始まります
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
	int x,y;
	double PI = 3.14159265358979;		// 産医師異国に向こう産後厄なく産・
	ChangeWindowMode( TRUE );		// ウィンドウモードに設定
	if( DxLib_Init() == -1 )		// DXライブラリ初期化処理
	{
		return -1 ;			// エラーが起きたら直ちに終了
	}

	for(x = 0; x < 640; x++) DrawPixel( x , 240 , GetColor( 0,0,255 ) ) ; // 点を打つ
	for(y = 0; y < 480; y++) DrawPixel( 320 , y , GetColor( 0,255,0 ) ) ; // 点を打つ

	for(x = 0; x < 640; x++) DrawPixel( x , 220*sin((float)x*(2.0*PI/320.0))+240 , GetColor( 0,255,255 ) ) ;

	WaitKey() ;				// キー入力待ち

	DxLib_End() ;				// DXライブラリ使用の終了処理

	return 0 ;				// ソフトの終了 
}
実験・成功
http://www2.koyoen.birdview.co.jp/~abcx ... -02-c-.PNG

Math

Re: 制作ゲームのロード時のエラーについて

#11

投稿記事 by Math » 5年前

実際のコードではこうなりました

コード:

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.6
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>cd C:\19\02\01\ゲームコード\g_txt

C:\19\02\01\ゲームコード\g_txt>g

C:\19\02\01\ゲームコード\g_txt>nmake -f g.mak

Microsoft(R) Program Maintenance Utility Version 14.16.27026.1
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl /c /TP /EHsc /D "_MBCS" /MT  /Ic:\dxlib /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /W3 ゲームコード.txt
Microsoft(R) C/C++ Optimizing Compiler Version 19.16.27026.1 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

ゲームコード.txt
ゲームコード.txt(21): warning C4838: 'unsigned int' から 'int' への変換には縮小変換が必要です
ゲームコード.txt(559): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(570): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(571): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(572): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(579): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(580): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(581): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(587): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(588): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(589): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(622): warning C4244: '-=': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(625): warning C4244: '+=': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(660): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(661): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(687): warning C4244: '引数': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(688): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(693): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(693): warning C4244: '引数': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(699): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(699): warning C4244: '引数': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(704): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(704): warning C4244: '引数': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(741): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(741): warning C4244: '引数': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(761): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(761): warning C4244: '引数': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(783): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(785): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(786): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(814): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(835): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(852): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(863): warning C4244: '引数': 'int' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(877): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(881): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(896): warning C4244: '引数': 'int' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(902): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(914): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(925): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(934): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(945): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(954): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(965): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(975): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(986): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(1004): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1005): warning C4244: '引数': 'int' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(1015): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1016): warning C4244: '引数': 'int' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(1027): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1154): warning C4244: '-=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(1155): warning C4244: '-=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(1174): warning C4244: '-=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(1175): warning C4244: '-=': 'double' から 'float' への変換です。データが失われる可能性があります。
ゲームコード.txt(1328): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1329): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1335): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1337): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1339): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1699): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1713): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1714): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1715): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1731): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1732): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1733): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1773): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1947): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1948): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1949): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1950): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1951): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1952): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1981): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1982): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1983): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1984): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1985): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(1986): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2016): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2017): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2018): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2019): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2020): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2021): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2051): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2052): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2053): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2054): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2055): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2056): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2074): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2075): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2076): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2077): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2078): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2079): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2123): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2140): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2143): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2144): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2150): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2151): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2152): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2153): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2164): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2165): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2166): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2177): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2542): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2550): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2558): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2766): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(2878): warning C4244: '引数': 'float' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(3362): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(3376): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(3400): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(3401): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(3402): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(3404): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(3421): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(3437): warning C4244: '引数': 'const double' から 'int' への変換です。データが失われる可能性があります 。
ゲームコード.txt(3440): warning C4244: '引数': 'const double' から 'int' への変換です。データが失われる可能性があります 。
ゲームコード.txt(3446): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(3496): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(3524): error C2014: プリプロセッサ ディレクティブのシャープ記号 (#) の前に、空白文字以外の文字がありま す。
ゲームコード.txt(3565): error C2086: 'int Pad1F[32]': 再定義されました。
ゲームコード.txt(7): note: 'Pad1F' の宣言を確認してください
ゲームコード.txt(3566): error C2086: 'int Pad1AnalogX': 再定義されました。
ゲームコード.txt(8): note: 'Pad1AnalogX' の宣言を確認してください
ゲームコード.txt(3567): error C2086: 'int Pad1AnalogY': 再定義されました。
ゲームコード.txt(9): note: 'Pad1AnalogY' の宣言を確認してください
ゲームコード.txt(3568): error C2084: 関数 'int UpdataKey1(void)' は既に本体を持っています。
ゲームコード.txt(10): note: 'UpdataKey1' の以前の定義を確認してください
ゲームコード.txt(3579): warning C4838: 'unsigned int' から 'int' への変換には縮小変換が必要です
ゲームコード.txt(3596): error C2011: 'Player': 'class' 型の再定義
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3647): error C2011: 'NPC': 'class' 型の再定義
ゲームコード.txt(89): note: 'NPC' の宣言を確認してください
ゲームコード.txt(3671): error C2027: 認識できない型 'NPC' が使われています。
ゲームコード.txt(89): note: 'NPC' の宣言を確認してください
ゲームコード.txt(3674): error C2065: 'angle': 定義されていない識別子です。
ゲームコード.txt(3675): error C2065: 'angle': 定義されていない識別子です。
ゲームコード.txt(3678): error C2065: 'angle': 定義されていない識別子です。
ゲームコード.txt(3681): error C2065: 'angle': 定義されていない識別子です。
ゲームコード.txt(3684): error C2065: 'angle': 定義されていない識別子です。
ゲームコード.txt(3685): error C2065: 'z': 定義されていない識別子です。
ゲームコード.txt(3686): error C2065: 'x': 定義されていない識別子です。
ゲームコード.txt(3689): error C2011: 'Camera': 'class' 型の再定義
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(3702): error C2011: 'Ground': 'class' 型の再定義
ゲームコード.txt(144): note: 'Ground' の宣言を確認してください
ゲームコード.txt(3713): error C2011: 'HighLimit': 'class' 型の再定義
ゲームコード.txt(155): note: 'HighLimit' の宣言を確認してください
ゲームコード.txt(3724): error C2011: 'Bar': 'class' 型の再定義
ゲームコード.txt(166): note: 'Bar' の宣言を確認してください
ゲームコード.txt(3738): error C2011: 'Block': 'class' 型の再定義
ゲームコード.txt(180): note: 'Block' の宣言を確認してください
ゲームコード.txt(3749): error C2011: 'BlockTriangle': 'class' 型の再定義
ゲームコード.txt(191): note: 'BlockTriangle' の宣言を確認してください
ゲームコード.txt(3759): error C2027: 認識できない型 'BlockTriangle' が使われています。
ゲームコード.txt(191): note: 'BlockTriangle' の宣言を確認してください
ゲームコード.txt(3760): error C2065: 'x': 定義されていない識別子です。
ゲームコード.txt(3760): error C2065: 'y': 定義されていない識別子です。
ゲームコード.txt(3760): error C2065: 'z': 定義されていない識別子です。
ゲームコード.txt(3761): error C2065: 'vector': 定義されていない識別子です。
ゲームコード.txt(3783): error C2065: 'angle': 定義されていない識別子です。
ゲームコード.txt(3784): error C2065: 'angle': 定義されていない識別子です。
ゲームコード.txt(3787): error C2011: 'DropItem': 'class' 型の再定義
ゲームコード.txt(229): note: 'DropItem' の宣言を確認してください
ゲームコード.txt(3802): error C2079: 'player' が 未定義の class 'Player' で使用しています。
ゲームコード.txt(3802): error C2371: 'player': 再定義されています。異なる基本型です。
ゲームコード.txt(244): note: 'player' の宣言を確認してください
ゲームコード.txt(3803): error C2079: 'camera' が 未定義の class 'Camera' で使用しています。
ゲームコード.txt(3803): error C2371: 'camera': 再定義されています。異なる基本型です。
ゲームコード.txt(245): note: 'camera' の宣言を確認してください
ゲームコード.txt(3805): error C2374: 'map': 再定義されています。2 回以上初期化されています。
ゲームコード.txt(247): note: 'map' の宣言を確認してください
ゲームコード.txt(3806): error C2374: 'oldMap': 再定義されています。2 回以上初期化されています。
ゲームコード.txt(248): note: 'oldMap' の宣言を確認してください
ゲームコード.txt(3807): error C2086: 'int *BGMHandle': 再定義されました。
ゲームコード.txt(249): note: 'BGMHandle' の宣言を確認してください
ゲームコード.txt(3815): error C2371: 'SaveData_t': 再定義されています。異なる基本型です。
ゲームコード.txt(257): note: 'SaveData_t' の宣言を確認してください
ゲームコード.txt(3816): error C2086: 'SaveData_t Data': 再定義されました。
ゲームコード.txt(258): note: 'Data' の宣言を確認してください
ゲームコード.txt(3818): error C2084: 関数 'void SetSaveLoveMeter(int,int)' は既に本体を持っています。
ゲームコード.txt(260): note: 'SetSaveLoveMeter' の以前の定義を確認してください
ゲームコード.txt(3822): error C2084: 関数 'int GetSaveLoveMeter(int)' は既に本体を持っています。
ゲームコード.txt(264): note: 'GetSaveLoveMeter' の以前の定義を確認してください
ゲームコード.txt(3826): error C2084: 関数 'void Save(void)' は既に本体を持っています。
ゲームコード.txt(268): note: 'Save' の以前の定義を確認してください
ゲームコード.txt(3828): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3830): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3840): error C2084: 関数 'void LoadData(void)' は既に本体を持っています。
ゲームコード.txt(282): note: 'LoadData' の以前の定義を確認してください
ゲームコード.txt(3848): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3850): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3854): error C2086: 'float mathX': 再定義されました。
ゲームコード.txt(296): note: 'mathX' の宣言を確認してください
ゲームコード.txt(3854): error C2086: 'float mathZ': 再定義されました。
ゲームコード.txt(296): note: 'mathZ' の宣言を確認してください
ゲームコード.txt(3855): error C2374: 'stopTime': 再定義されています。2 回以上初期化されています。
ゲームコード.txt(297): note: 'stopTime' の宣言を確認してください
ゲームコード.txt(3856): error C2084: 関数 'void StopMove(void)' は既に本体を持っています。
ゲームコード.txt(298): note: 'StopMove' の以前の定義を確認してください
ゲームコード.txt(3858): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3860): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3861): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3862): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3865): error C2084: 関数 'double NPCVector(int,int)' は既に本体を持っています。
ゲームコード.txt(307): note: 'NPCVector' の以前の定義を確認してください
ゲームコード.txt(3867): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3872): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3875): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3878): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3881): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(3887): error C2084: 関数 'int WinMain(HINSTANCE,HINSTANCE,LPSTR,int)' は既に本体を持っています。
ゲームコード.txt(329): note: 'WinMain' の以前の定義を確認してください
ゲームコード.txt(4099): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4111): error C2065: 'UpdataKey1': 定義されていない識別子です。
ゲームコード.txt(4117): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(4128): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(4129): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(4130): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(4132): error C2065: 'LoadData': 定義されていない識別子です。
ゲームコード.txt(4137): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(4138): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(4139): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(4145): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(4146): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(4147): warning C4244: '引数': 'double' から 'int' への変換です。データが失われる可能性があります。
ゲームコード.txt(4161): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4163): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4163): error C2660: 'DxLib::MV1GetAttachAnimTotalTime': 関数に 1 個の引数を指定できません。
c:\dxlib\DxLib.h(4839): note: 'DxLib::MV1GetAttachAnimTotalTime' の宣言を確認してください
ゲームコード.txt(4164): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4165): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4166): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4167): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4167): error C2660: 'DxLib::MV1SetAttachAnimTime': 関数に 1 個の引数を指定できません。
c:\dxlib\DxLib.h(4837): note: 'DxLib::MV1SetAttachAnimTime' の宣言を確認してください
ゲームコード.txt(4170): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4170): error C2660: 'DxLib::MV1GetAttachAnimTotalTime': 関数に 1 個の引数を指定できません。
c:\dxlib\DxLib.h(4839): note: 'DxLib::MV1GetAttachAnimTotalTime' の宣言を確認してください
ゲームコード.txt(4171): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4172): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4173): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4174): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4174): error C2660: 'DxLib::MV1SetAttachAnimTime': 関数に 1 個の引数を指定できません。
c:\dxlib\DxLib.h(4837): note: 'DxLib::MV1SetAttachAnimTime' の宣言を確認してください
ゲームコード.txt(4180): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4183): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4186): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4187): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4191): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4192): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4196): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4197): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4199): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4200): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4203): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4204): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4207): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4208): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4209): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4213): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4214): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4217): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4218): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4219): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4220): error C2027: 認識できない型 'Camera' が使われています。
ゲームコード.txt(131): note: 'Camera' の宣言を確認してください
ゲームコード.txt(4220): error C2027: 認識できない型 'Player' が使われています。
ゲームコード.txt(38): note: 'Player' の宣言を確認してください
ゲームコード.txt(4220): fatal error C1003: プログラム内のエラーが 100 個を超えました。コンパイルは中断されます。
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64\cl.EXE"' : リターン コード '0x2'
Stop.

C:\19\02\01\ゲームコード\g_txt>



Math

Re: 制作ゲームのロード時のエラーについて

#13

投稿記事 by Math » 5年前

元祖 DXライブラリーを開発・管理されている方の掲示板に聞いてみれば即わかるおもいますね。

https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?

ryosei
記事: 8
登録日時: 5年前

Re: 制作ゲームのロード時のエラーについて

#14

投稿記事 by ryosei » 5年前

Mathさん、貴重なご意見ありがとうございました。
一度紹介していただいた掲示板のほうで質問させていただきます。
そちらのほうで解決策が見つかった場合こちらに今一度そのエラーの修正方法を書き込ませていただこうと思います。こちらでは正確な解決策が見つかりませんでしたがお二方が親身に寄り添ってくれたことによってエラーが見つからずたまっていた心労も改善されました、本当にありがとうございました。

Math

Re: 制作ゲームのロード時のエラーについて

#15

投稿記事 by Math » 5年前

そうですか。相当な集中力を使わないと数千~数万行のプログラムは1か月前に作った所は全く分からなくなります。
プログラムと同じ位のコメント文を書いておく必要があります。
分割して小さなモジュールの分けるといいと思います。

ryosei
記事: 8
登録日時: 5年前

Re: 制作ゲームのロード時のエラーについて

#16

投稿記事 by ryosei » 5年前

https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?
こちらで解決策を教えていただきました。
3Dデータを頻繁に読み込んだりするとたまに起こるエラーだそうです
直し方はわからないそうですが、32Bitアプリから64Bitアプリにするとエラーが解消するという
情報をいただきました。
Mathさん、あなたのご紹介がなければ私はずっと同じところで立ち止まって
いたはずです、最後まで真摯に私の質問に向き合ってくださりありがとうございました。
これにてこの議題を終わらせていただきます。
ご回答くださった方々に感謝致します。


返信

“C言語何でも質問掲示板” へ戻る