状态机--状态机3,关于战斗中兵种状态的状态的结束

博客探讨了战斗场景中角色的状态管理,特别是冰冻状态的开始和结束。当角色受到冰冻效果后,会进入冰冻状态,而在冰冻效果结束后,通常会转为待机状态。通过onFrozen()和onFrozenEnd()两个方法来处理状态的转换。
摘要由CSDN通过智能技术生成

战斗中的角色有多种状态,根据不同的事件切换到不同的状态,进入一个状态,

当然也会退出状态,如冰冻状态,战斗中的角色中了冰冻buff后进入冰冻状态,

那么当这个冰冻buff时间到了之后自然就失效了,角色要解除冰冻状态,那么

解除了冰冻状态后要进入哪个状态呢,这个具体看需求,一般情况下是进入到

待机状态,通俗地说,当冰冻buff生效时调用onFrozen(),当冰冻buff失效时

调用onFrozenEnd(),代码如下:


local StateId = require("app.edition4.StateId")

local Soldier = class("Soldier")

function Soldier:ctor()
    self.iStateId = StateId.unKnown
end

--待机
function Soldier:onIdle()
    self.iStateId = StateId.idle
    print("切换到待机状态")
end

--行走
function Soldier:onWalk()
    if self:isFrozen() then return end
    self.iStateId = StateId.walk
    print("切换到行走状态")
end

--攻击
function Soldier:onAttack()
    if self:isFrozen() then return end
    self.iStateId = StateId.attack
    print("切换到攻击状态")
end

--冰冻
function 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
      《地下守护神》是暗黑魔幻风格的ARPG手游,是真正按照商业级技术水准研发的Unity大型教学案例。这是“刘老师讲Unity”课程体系到目前为止最重量级教学课程,本课程将带领大家从手游前端各重要功能开发(基于MVC框架搭建、)到网络端的方方面面知识点,一一进行详细还原讲解,使得学员在短期内游戏研发能力有个质的突破,“主程”虚位以待,等待您的加入。 单机版主要技术点:    1: 前端分层的MVC架构设计,开发自定义的资源动态加载插件、音频插件、对话系统插件、事件监听插件、自定义强大的对象缓冲池脚本插件进行项目性能大幅提升等。    2: UI粒子特效、场景淡入淡出控制。    3: 单机与移动端的双输入控制系统开发。    4: 数值平衡处理与开发。    5: 多种设计模式在游戏研发过程的灵活运用。    6: XML技术的灵活运用,在系统解耦与资源国际化方面的技术突破。    7: 开发强大灵活的日志系统插件,应对服务器与移动端的各种复杂系统调试需求。温馨提示:        本课程使用Virtual Studio2012,以及Unity5.2 进行开发与讲解。(推荐学员使用Unity5.2 版本减少开发过程不必要的麻烦,VS使用更高版本则没有任何影响。) A:《MMOARPG地下守护神_单机版实战视频课程(上部)》https://edu.csdn.net/course/detail/24965B:《MMOARPG地下守护神_单机版实战视频课程(下部)》https://edu.csdn.net/course/detail/24979  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值