我在使用 SKSpriteNode 时遇到了一些问题。如果我这样做:
var node1=SKSpriteNode(imageNamed:"image1");
var node2=SKSpriteNode(imageNamed:"image2");
self.addChild(node1);
self.addChild(node2);
然后 image2
将出现在 image1
的前面(这很好)。
但是如果我这样做:
var node1=SKSpriteNode(imageNamed:"image1");
var node2=SKSpriteNode(color:UIColor.redColor(),size: CGSizeMake(0,0,300,300)));
self.addChild(node1);
self.addChild(node2);
然后image1
会出现在node2-rectangle
的前面。为什么要这样做?
最佳答案
令我惊讶的是,即使是编译——CGSizeMake
应该只接受 2 个参数(宽度、高度),而 CGRectMake
则需要 4 个(x、y、宽、高)。换句话说,看起来您正在创建大小为 (0,0)
的 node2
。试试……size:CGSizeMake(300,300)
。
关于Swift SKSpriteNode绘制顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25188509/