博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
quick 状态机StateMachine
阅读量:7075 次
发布时间:2019-06-28

本文共 1174 字,大约阅读时间需要 3 分钟。

function Player:addStateMachine()    self.fsm_ = {}    cc.GameObject.extend(self.fsm_)    :addComponent("components.behavior.StateMachine")    :exportMethods()    self.fsm_:setupState({        -- 初始状态        initial = "idle",        -- 事件和状态转换        events = {            -- t1:clickScreen; t2:clickEnemy; t3:beKilled; t4:stop            {name = "clickScreen", from = {
"idle", "attack"}, to = "walk" }, {name = "clickEnemy", from = {
"idle", "walk"}, to = "attack"}, {name = "beKilled", from = {
"idle", "walk", "attack", "hit"}, to = "dead"}, {name = "beHit", from = {
"idle", "walk", "attack"}, to = "hit"}, {name = "stop", from = {
"walk", "attack", "hit"}, to = "idle"}, }, -- 状态转变后的回调 callbacks = { onidle = function (event) self:idle() end, onattack = function (event) self:attackEnemy() end, onhit = function (event) self:hit() end, ondead = function (event) self:dead() end }, })end  那我发一个clickScene的事件,它判断如果是idle attack状态的话就执行walk状态 跟if else一样 只是系统帮你写了if else了
 用事件来驱动的状态迁移 
 

转载于:https://www.cnblogs.com/as3lib/p/4108121.html

你可能感兴趣的文章
转:HBase的二级索引
查看>>
BZOJ1497 最大获利
查看>>
[javaSE] GUI(Action事件)
查看>>
[PHP] 算法-字符串的左循环的PHP实现
查看>>
python setattr,delattr()
查看>>
fft相关的复习
查看>>
hadoop最新发行稳定版:DKHadoop版本选择详解
查看>>
asp.net mvc部署iis常见问题
查看>>
据说每个大牛、小牛都应该有自己的库——Event处理
查看>>
APIX招聘
查看>>
A-Treepath//dfs
查看>>
spring源码解析之IOC容器(三)——依赖注入
查看>>
长文章手动分页显示代码
查看>>
with…do语句的用法
查看>>
tail tailf 使用
查看>>
BT原理分析
查看>>
Android签名机制
查看>>
BZOJ-3732: Network (kruskal+LCA)
查看>>
linux并发控制之读写自旋锁
查看>>
数据结构之栈
查看>>