SpriteKit中节点的z-position

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.

如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;)


免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流之用,请勿进行商业用途。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作!

每一个节点都有一个zPosition属性,默认值是0

每一个节点按照各个子节点的z-position绘制其子节点,从低到高.

在本章早些时候,我们添加了如下一行代码到GameViewController.swift中:

skView.ignoresSiblingOrder = true

如果ignoesSiblingOrder被设置为true,Sprite Kit将对于相同zPosition子节点的绘制顺序不做任何保证

如果ignoresSiblingOrder被设置为false,Sprite Kit将按照相同zPosition子节点添加到其父节点的顺序绘制它们.

一般情况下,将其设置为true是有利的,因为它允许SpriteKit完成潜在的性能优化使游戏运行的更快.

但是,设置该属性为true可能一不小心就会引起一些问题.举个例子,如果你添加一个僵尸到场景中,该僵尸的zPosition和背景的zPosition是相同的—都是0.SpriteKit可能在僵尸前面绘制背景,这将盖住僵尸的显示.

为了避免这种情况,你将设置背景的zPosition为-1,这样SpriteKit将在任何默认zPosition为0的节点之前绘制背景.

上一篇:hibernate 一对多双向关联 详解


下一篇:Matplotlib 使用 - 《Python 数据科学手册》学习笔记