从上一篇状态机1来看,似乎没有什么大问题,状态之间的切换很简单嘛,但是,出现
但是了,但是策划是种天生具备加需求的生物,而做为将需求变成代码逻辑的程序猿来
说,只能say ok,I look(好吧,我看看),好吧,那来看看有什么新的需求
战斗模块在有各种复杂的技能,技能中包含着一种控制行为的buff,称为控制行为buff,
比较常见的控件行为buff有冰冻,眩晕,击飞等等,以下是一个带有控制行为buff的技能
描述:霜冻 造成100点伤害,并冰冻敌人3s
受到对应控制行为buff的作用角色会进入到对应的状态,
如角色中了一个冰冻buff,那么角色会进入到冰冻状态,表现为角色动画停止在当前帧,
并带有冰冻特效,无法进行攻击,ok,我们先不管什么复杂的技能,来看代码如何变化,
这里有一个新的状态是冰冻,那么我们在兵种类中加一个冰冻的接口,具体代码如下:
local Soldier = class("Soldier")
function Soldier:ctor()
end
--待机
function Soldier:onIdle()
print("切换到待机状态")
end
--行走
function Soldier:onWalk()
print("切换到行走状态")
end