怪物介绍 怪物类 实现功能:在怪物的房间完全随机地生成不同数量、不同位置、不同体型的怪物,怪物具有一定的走位能力和智能施法攻击能力,每个房间的怪物一共有3波,当这一波怪物完全死光将会生成下一波怪物。死亡的怪物周围会爆蓝、金币、蓝药、红药等道具。 实现思路:建立一个怪物管理器,用std::vector<Monster*> m_monsterList作为储存怪物的容器,每次更新时通过遍历m_monsterList来对每个怪物进行操作。进入每个怪物房间,会先判断是否已经初始化怪物了,若无则会随机生成一系列怪物。未嘲讽的怪物会在地图上漫步,而如果主角与怪物距离过近或怪物受到伤害,则怪物会受到嘲讽,主动向主角位置走位,并且攻击主角。若在走位的方向上遇到了障碍物,怪物会自行寻找一个无障碍的方向进行走位。 木墙类: 实现功能:怪物房间内随机生成若干个可摧毁的木墙,生成木墙的位置是随机的,是角色和怪物无法直接穿越的地形,当木墙被击破则可以穿越。 实现思路:在进入每个怪物房间时,也生成一系列木墙对象,用std::vector<Monster*> m_woodWallList作为储存木墙对象的容器。并且在生成的过程中,与AdventureMapScene中的瓦片地图交互,使之也不可穿越;木墙被摧毁后,瓦片地图中的记录也消失。