VC2008EE DXライブラリ Windows7です。
「たくさん敵の行動パターンを作ってみよう」のところで
エラーが解決できません。
質問の内容
1.
error C2065: 'Enemy_Pattern0' : 定義されていない識別子です。
'Enemy_Pattern15'まで同じエラーがでます。Enemy_Pattern0~15は
class Enemyで宣言しています。認識させる書き方が分かりません。
2.
void (*Enemy_Pattern[ENEMY_PATTERN_MAX])(int)={
Enemy_Pattern0, Enemy_Pattern1, Enemy_Pattern2, Enemy_Pattern3,
Enemy_Pattern4, Enemy_Pattern5, Enemy_Pattern6, Enemy_Pattern7,
Enemy_Pattern8, Enemy_Pattern9, Enemy_Pattern10, Enemy_Pattern11,
Enemy_Pattern12, Enemy_Pattern13, Enemy_Pattern14, Enemy_Pattern15,
};
この関数はどのクラスでも宣言していないがそれでいいのでしょうか?宣言するとしたらどのように書くのか分かりません。
どなたかご指導をお願いします。
/* enemy.h */
#ifndef __ENEMY_H__
#define __ENEMY_H__
#include "DxLib.h"
#include <math.h>
#define ENEMY_MAX 30
#define ENEMY_PATTERN_MAX 16
#define ENEMY_ORDER_MAX 500
#define FX 32
#define FY 16
#define FMX 384
#define FMY 448
#define PI 3.1415926535898
#define PI2 (PI*2)
class Enemy{
int img_enemy[3][3];
protected:
public:
float x, y, vx, vy, sp, ang;
int bltime, blknd, blknd2, col, state, wtime, wait, cnt;
int flag, pattern, knd, hp, hp_max, img;
int item_n[6];
void Init();
void Enter();
void Move();
void Draw();
void LoadStory();
void Enemy_Pattern0(int i); void Enemy_Pattern1(int i);
void Enemy_Pattern2(int i); void Enemy_Pattern3(int i);
void Enemy_Pattern4(int i); void Enemy_Pattern5(int i);
void Enemy_Pattern6(int i); void Enemy_Pattern7(int i);
void Enemy_Pattern8(int i); void Enemy_Pattern9(int i);
void Enemy_Pattern10(int i); void Enemy_Pattern11(int i);
void Enemy_Pattern12(int i); void Enemy_Pattern13(int i);
void Enemy_Pattern14(int i); void Enemy_Pattern15(int i);
int Num_Search();
};
class EnemyOrder{
public:
float x, y, vx, vy, sp, ang;
int bltime, blknd, blknd2, col, state, wtime, wait, cnt;
int flag, pattern, knd, hp, hp_max, img;
int item_n[6];
};
#endif
長いので次に続きます。