RPG游戏状态机实现实例

本文通过实例展示了如何在quick-cocos2d-x框架下为RPG游戏的角色实现状态机,详细阐述了角色从初始化到各种动作(如行走、攻击、技能释放等)的转换过程,通过回调函数控制不同状态下角色的动画播放。

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

local Hero = class("Hero", function (  )
	return display.newNode()
end)

function Hero:ctor(  )
	self:initHero()
	self:addStateMachine()--添加状态机函数
end

function Hero:initHero(  )
	self.hero = sp.SkeletonAnimation:create("spine/sp-zuozhu/skeleton.json","spine/sp-zuozhu/skeleton.atlas",1)
	self.hero.debugBones = true;
	self.jineng = sp.SkeletonAnimation:create("spine/sp-zuozhu/skeleton_effect.json","spine/sp-zuozhu/skeleton_effect.atlas",1)
	self:addChild(self.hero)
	self:addChild(self.jineng)  --创建spine骨骼动画精灵

	self.sk = sp.SkeletonAnimation:create(
		"spine/effects/huangseguanghuan/huangseguanghuan.json",
		"spine/effects/huangseguanghuan/huangseguanghuan.atlas",1)
	self.sk:setAnimation(0,"animation",true)
	self:addChild(self.sk) --添加动画


	self.hero:setAnimation(0,"run",true)

	
end

--增加状态机
function Hero:addStateMachine(  )
	--存放状态的表
	self.fsm = {}
	cc.GameObj
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值