如果我在子类中进行,我很难让 AI 工作。
这是我的主循环,我在其中访问玩家和敌人类的移动、逻辑和显示功能。
//Logic
myPlayer.player_move();
myEnemy.enemy_logic();
//Rendering
myPlayer.player_show();
myEnemy.enemy_show();
所以我访问了 Player 类的移动玩家的函数,然后我访问了 Enemy 类的逻辑(AI)函数。
void Enemy::enemy_move(){
eX -= 2;
}
void Enemy::enemy_logic(){
Player myPlayer;
if(myPlayer.x > SCREEN_WIDTH / 2){
enemy_move();
}
}
因此,如果 Players x 值大于屏幕的一半,我希望敌人开始向左移动
我可以编译程序,但是当我将玩家移动到屏幕的中间点时,敌人什么也不做。如果我将这个 if 语句放在 main.cpp 中,那么它工作正常。有什么建议吗?