状态机--状态机1,关于战斗中兵种状态的初步设计

本文介绍了一个使用Lua脚本语言和quick-cocos2dx创建的游戏工程项目中的简单AI状态机实现。该状态机支持待机、行走和攻击三种基本状态,并且可以在这些状态之间自由切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

战斗中的主要对象是兵种,最前期只有待机,行走,攻击三种状态,而这些都由兵种AI去调用切换

简单的AI如:向前行走,如果攻击范围内出现敌人,则切换为待机状态,攻击间隔一到就开始攻击

工程是用quick-cocos2dx创建的,用的是lua脚本语言,代码如:


local Soldier = class("Soldier")

function Soldier:ctor()

end

--待机
function Soldier:onIdle()
    print("切换到待机状态")
end

--行走
function Soldier:onWalk()
    print("切换到行走状态")
end

--攻击
function Soldier:onAttack()
    print("切换到攻击状态")
end

return Soldier

代码相当的简单,在各自的接口下实现对应的逻辑就行了,三种状态的切换没有约束条件

相互之间的切换都是可以的

待机状态--->行走状态,待机状态--->攻击状态
行走状态--->待机状态,行走状态--->攻击状态
攻击状态--->待机状态,攻击状态--->行走状态


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值