【发布时间】:2015-03-03 07:11:03
【问题描述】:
我知道如何根据所有子节点定位 CCSprite
sprite.zOrder = 5;
但是,我有一个添加到 CCScene 的 CCNode,我需要将该 CCNode 的一个子节点定位在 CCScene 中的所有元素之上。这可能吗?
【问题讨论】:
-
先将 CCNode 添加到场景中。即使使用相同的 zOrder,它的所有子代都将“高于”您添加的任何内容。
-
不幸的是,事情没那么简单。从技术上讲,该节点是具有变化元素的背景。所以我猜没有简单的方法。我可以找到一种解决方法,但希望有一些可用的方法
-
不可能,尽管根据我的经验,您也不需要“硬”方式,只需考虑层次结构的作用以及您是否不能轻松地对其进行编程。典型情况是应该跟随其父节点的节点,但必须以不同的 z 顺序排列。因此,您不要将其设为子节点,而前父节点只是通过向其发送诸如 adjustYourPositionToMine: 之类的 objc 消息将其位置应用于前子节点:...在前父节点更新其位置之后执行此操作(更新:应该够了),你就完成了。
-
另外,不要进入vertexZ,真的不值得麻烦,除非你需要精细控制每个节点的绘制顺序,比如在等距游戏中
标签: cocos2d-iphone ccsprite z-order