博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
quick 状态机StateMachine
阅读量:7069 次
发布时间: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

你可能感兴趣的文章
在C#中调用API获取网络信息和流量
查看>>
Java集合遍历引发的"血案"
查看>>
Webpack入门教程六
查看>>
编译原理:正规式转变成DFA算法
查看>>
MongoDB数据库的MapReduce简单操作(转)
查看>>
cisco图标
查看>>
java获取类的信息
查看>>
Hibernate5-进阶添加工具类,对获取Session的方法封装
查看>>
通过内存映射文件来颠倒文本内容(暂没有处理Unicode和换行符)
查看>>
Debian软件包信息查询
查看>>
天猫物流提速背后:大数据加速颠覆传统零售业
查看>>
网页优化十大策略
查看>>
为每一个table单元格设置不同的背景颜色
查看>>
盘点智能硬件中那些脑洞大开的黑科技
查看>>
[HDFS Manual] CH4 HDFS High Availability Using the Quorum Journal Manager
查看>>
maven pom.xml详解
查看>>
活动目录数据库文件介绍
查看>>
Linux下配置tomcat+apr+native应对高并发
查看>>
html5播放mp4视频代码
查看>>
孟子>正文 活动目录(Active Directory)域故障解决实例(转载)
查看>>