如何使用Swift在Sprite工具包中创建一个矩形

And*_*ira 4 sprite-kit swift

我正试图在Sprite工具包上使用swift创建一个矩形,因为矩形需要用作场景中的对象,我假设我需要创建一个SkSpriteNode,并且它们给它一个大小,但是它没有用,这就是我做到的:

var barra = SKSpriteNode()
barra.name = "bar"
barra.size = CGSizeMake(300, 100)
barra.color = SKColor.whiteColor()
barra.position = CGPoint(x: 100, y: 100)
self.addChild(barra)
Run Code Online (Sandbox Code Playgroud)

将barra添加到屏幕不会更改节点计数.

任何帮助将不胜感激!

Tia*_*nho 17

您可能想要使用a SKShapeNode,如下所示:

var barra = SKShapeNode(rectOfSize: CGSize(width: 300, height: 100))
barra.name = "bar"
barra.fillColor = SKColor.whiteColor()
barra.position = location

self.addChild(barra)
Run Code Online (Sandbox Code Playgroud)

这是Apple关于SKShapeNode的文档.

  • @Simon你是对的.你可以而且应该使用SKSpriteNode代替SKShapeNode,因为性能,但是通过使用SKShapeNode,你可以更清楚地说明你想要做的事情(创建一个形状),并且首先代码清晰度应该是你最大的关心. (2认同)

And*_*ira 5

我创建矩形的方式不是最好的,但问题是我在游戏中插入它的位置。这是我修复它的方式:

var barra = SKSpriteNode(color: SKColor.blackColor(), size: CGSizeMake(200, 200))
barra.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
barra.zPosition = 9 // zPosition to change in which layer the barra appears.

self.addChild(barra)
Run Code Online (Sandbox Code Playgroud)