Я создал SKSPriteNode без текстуры, но с цветом
let tileNode = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 80.0, height: 120.0))
tileNode.position = CGPointMake(50, 50)
tileNode.name = "rectangle"
addChild(tileNode)
Но узел не отображается на экране.
Тем не менее, я могу обнаружить это с помощью сенсорного столкновения
override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
let location: CGPoint = (touches.anyObject() as UITouch).locationInNode(tilesLayer)
let rect: SKSpriteNode = tilesLayer.childNodeWithName("rectangle") as SKSpriteNode
if rect.containsPoint(location) {
println("TOUCHED") //It works
}
}
EDIT: цвет SKSpriteNode скрыт только при наличии фоновой текстуры SKSpriteNode. Полный код: https://gist.github.com/BabyAzerty/9dca752d9faa7b768bf0