我正在制作一个游戏,在游戏中有一个包含玩家的列表,这个列表涉及 Player 类。我还有一个类,它是 Player 的一个孩子,叫做 HumanPlayer。我在玩家列表中添加了一个人类玩家。但是当我运行渲染函数时,它不会从humanplayer 渲染,而是从播放器渲染。render 函数是一个虚函数,应该被覆盖,但不是。
这是我定义列表的地方:
std::list<Player> playerList;
这是我在列表中添加人类玩家的地方:
playerList.push_front(HumanPlayer(512,512,&entityList));
这是渲染函数调用渲染的地方:
if(!playerList.empty()){
std::list<Player>::iterator iter;
for (iter = playerList.begin(); iter != playerList.end(); iter++){
iter -> render(canvas);
}
}