行为逻辑

行为逻辑的实现方式有两种:
1.硬件 (速度快,可变性差)
2.软硬件结合 (速度比1低,但是灵活可改变)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 1. Blocks (容器) 3 1.1 Rule (规则) 3 1.2 Timer (定时器) 4 1.3 Group (分组) 5 2. Conditions (条件) 6 2.1 Attribute (属性) 6 2.2 Touch (触摸) 7 2.3 Key (按键) 8 2.4 Mouse Button (鼠标按键) 9 2.5 Mouse Position (鼠标位置) 10 2.6 Collision (碰撞检测) 11 2.7 AutoRotation (自动旋转) 12 3. Persistent (持续行为) 13 3.1 Constrain Attribute (约束属性) 13 3.2 Interpolate (插值修改) 14 3.3 Move (移动) 15 3.4 Move To (目标移动) 16 3.5 Accelerate (加速) 17 3.6 Accelerate Toward (目标加速) 18 3.7 Rotate (旋转) 19 3.8 Rotate To Angle (定角旋转) 20 3.9 Rotate To Position (旋转到角度位置) 21 3.10 collide (碰撞) 22 3.11 Animate (动画) 23 3.12 Particles (粒子) 24 3.13 Replicate (复制) 26 3.14 Control Camera (摄像机跟随) 27 3.15 Display Text (显示文本) 27 3.16 Note (注释) 27 4. Actions (单次行为) 28 4.1 Spawn Actor (生成对象) 28 4.2 Destroy (销毁对象) 29 4.3 Change scene (切换场景) 29 4.4 Reset scene (重置场景) 29 4.5 Pause Game (暂停游戏) 29 4.6 Unpause Game (解除暂停) 30 4.7 Reset Game (重置游戏) 30 4.8 Save Attribute (保存属性) 30 4.9 Load Attribute (读取属性) 30 4.10 Change Attribute (更改属性) 31 4.11 Change Velocity (更改速度) 31 4.12 Change Size (尺寸缩放) 31 4.13 Change image (更换图片) 32 4.14 Play Music (播放音乐) 32 4.15 Pause Music (暂停音乐) 32 4.16 Stop Music (停止音乐) 32 4.17 Play Sound (播放声音) 33 4.18 Keyboard Input (键盘输入) 33 5. Others 34
实现战斗AI的行为逻辑可以采用状态机来进行管理。以下是一个简单的示例: ```c++ enum class State { IDLE, ATTACK, RETREAT }; class BattleAI { public: BattleAI() : currentState(State::IDLE) {} void update() { switch(currentState) { case State::IDLE: // 检查是否有敌人进入视野范围,如果有则切换到攻击状态 if(checkForEnemies()) { currentState = State::ATTACK; } break; case State::ATTACK: // 检查是否需要撤退,如果需要则切换到撤退状态 if(checkForRetreat()) { currentState = State::RETREAT; } // 否则进行攻击 else { attack(); } break; case State::RETREAT: // 检查是否安全,如果安全则切换到空闲状态 if(checkForSafety()) { currentState = State::IDLE; } // 否则继续撤退 else { retreat(); } break; } } private: State currentState; bool checkForEnemies() { // 检查是否有敌人进入视野范围 // 如果有返回true,否则返回false } bool checkForRetreat() { // 检查是否需要撤退 // 如果需要返回true,否则返回false } bool checkForSafety() { // 检查是否安全 // 如果安全返回true,否则返回false } void attack() { // 进行攻击 } void retreat() { // 进行撤退 } }; ``` 在这个示例中,我们用枚举类型State表示AI的状态,分别是空闲状态(IDLE)、攻击状态(ATTACK)和撤退状态(RETREAT)。AI在每个状态下执行不同的行为,例如在空闲状态下检查是否有敌人进入视野范围,如果有则切换到攻击状态,否则继续保持空闲状态。在攻击状态下,AI会进行攻击,同时检查是否需要撤退,如果需要则切换到撤退状态。在撤退状态下,AI会进行撤退,并检查是否已经安全,如果安全则切换到空闲状态,否则继续撤退。 当然,这只是一个简单的示例,实际情况下可能需要更复杂的逻辑来处理各种情况。但是使用状态机的方式可以让代码结构清晰,易于维护和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值