9 我通过示例跟踪了Mat Buckland的《编程游戏AI》,发现我并不总是在实体状态上使用enter(),execute()和exit()。例如,在RPG中,武器可能具有装备状态,而我可以在该状态下使用enter()和exit()向玩家的能力修改器添加或减去,但实际上并不需要execute( )。这是我引擎的设计缺陷,还是这种方法的缺点? ai game-mechanics state — 性格 source
8 那些书还没读完,听起来像是状态机的正常入口。要了解电话,让我们看一下它们的作用。 enter() -激活状态时执行。 execute() - 在激活状态时执行。 exit() -在停用状态时执行。 这些适合任何一种状态机。一些机器只需要“执行”调用,其他机器则需要“输入”和“退出”,而其他机器则需要全部三个。 示例1:机枪扳机。 执行:以设定的速率发射子弹。 示例2:力桥 输入:使桥出现 出口:使桥消失 示例3:个人动力装甲。 输入:给予玩家额外的保护 执行:耗尽电池 退出:删除额外的保护 — 贾里·康帕(Jari Komppa) source