cocos2d-x怎么改变不同类里面精灵之间的图层关系
比如CSkillManager类里用CCSprite声明了两个技能精灵,一个地上火焰陷阱(图层要求在玩家精灵下方),一个燃烧(图层要求在玩家上方)。玩家自己单独一个类。C...
比如CSkillManager 类里用CCSprite声明了两个技能精灵,一个地上火焰陷阱(图层要求在玩家精灵下方),一个燃烧(图层要求在玩家上方)。玩家自己单独一个类。CSkillManager 跟CPlayer类都被addChild在GameManager类里。求怎么达到图层要求?
展开
2个回答
展开全部
只有在同一个图层的节点才能有相对的层级关系哦,他们的父节点CSkillManager和CPlayer之间的层级关系通过zOder决定,比如CSkillManager的z值为2,CPlayer的z值为1的话,CSkillManager的所有子节点(技能)就都会在CSkillManager上方。你想要的效果是实现不了了呢。
CSkillManager还是只处理逻辑好了,技能特效往CPlayer上挂。简单说就是视图和数据计算分离,把技能也好,buff也好,头顶的血条也好,都放在同一个容器里管理,这样的层级关系才是正确的。MVC模式你说是吧。
CSkillManager还是只处理逻辑好了,技能特效往CPlayer上挂。简单说就是视图和数据计算分离,把技能也好,buff也好,头顶的血条也好,都放在同一个容器里管理,这样的层级关系才是正确的。MVC模式你说是吧。
追问
我现在把技能特效从CSkillManager独立出来,单独做两个类一个在图层玩家之上,一个在图层在玩家之下,技能碰撞判断再做一个类,CSkillManager就做一些图标和按键事件,也不知道这样对不对。你的容器我想是一个更不错的主意,回头我试一下。有问题再追问,哈。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询