Ios SpriteKit不尊重zPosition?
addChild和zPosition在场景中到底有什么影响 我的意思是:假设我这样做Ios SpriteKit不尊重zPosition?,ios,iphone,ipad,sprite-kit,Ios,Iphone,Ipad,Sprite Kit,addChild和zPosition在场景中到底有什么影响 我的意思是:假设我这样做 sprite1.zPosition = 50; sprite2.zPosition = 10; sprite3.zPosition = 30; 然后再这样做 [self addChild:sprite1]; [self addChild:sprite2]; [self addChild:sprite3]; 根据SpriteKit并考虑zPosition顺序,sprite1应在sprite3上渲染在sprit
sprite1.zPosition = 50;
sprite2.zPosition = 10;
sprite3.zPosition = 30;
然后再这样做
[self addChild:sprite1];
[self addChild:sprite2];
[self addChild:sprite3];
根据SpriteKit并考虑zPosition顺序,sprite1应在sprite3上渲染在sprite2上,但SpriteKit忽略了这一点,并在sprite2上渲染3
我遗漏了什么吗?如果他们有相同的父母,那将是真的。如果它们可以是不同的父对象,也会考虑父对象的z顺序 场景渲染的标准行为遵循一对简单的规则:
您可以在游戏视图控制器中的“了解节点树的绘制顺序”下找到详细的说明,将ignoresSiblingOrder属性设置为false(或在objective-C中设置为NO)
什么是真的?321还是132?Spritekit忽略zPosition并渲染它,结果应为321.123。正如Jerome所建议的,我们需要更多的代码来提供更好的答案。123?你是说1在上面还是在下面?所以,重要的是addChild订单,而不是zPosition。请阅读我在“此处”下发布的文档。Z位置很重要,但如果两个节点具有相同的Z位置,则会考虑添加顺序。您所经历的是奇怪的,可能是由其他原因造成的。Sprite Kit按将节点添加到父节点的顺序绘制具有相同父节点的所有节点,zPosition会覆盖此顺序。如果节点具有不同的父节点,则zPosition无效。无需更多代码。代码就是这样。3层,3个不同的位置,但按随机顺序添加。SpriteKit应该尊重zPosition,但事实并非如此。尝试在addChild之后而不是之前设置zPosition。这应该不会有什么区别。你能为这种情况做一个测试项目吗?或者只需从
SKScene
粘贴整个代码,如果您显示更多代码,然后显示正在发生的与应该发生的屏幕截图,则会有所帮助。
let skView = self.view as SKView
skView.ignoresSiblingOrder = false