У меня есть SKSpriteNode создать с генератором уровня.Как создать CGPath из SKSpriteNode в SWIFT
Мне нужно создать точно такую же форму, используя CGPath.
self.firstSquare = childNodeWithName("square") as! SKSpriteNode
var transform = CGAffineTransformMakeRotation(self.firstSquare.zRotation)
let rect = CGRect(origin: self.firstSquare.position, size: self.firstSquare.size)
let firstSquareCGPath:CGPath=CGPathCreateWithRect(rect, &transform)
print(self.firstSquare.position)
=> firstSquare положение (+52,8359451293945, -52,9375076293945)
Чтобы проверить, если мой CGPath был создан, как я хочу, я создал SKShapeNode с моим CGPath:
let shape:SKShapeNode=SKShapeNode(path:path)
shape.fillColor = self.getRandomColor()
addChild(shape)
print(shape.position)
=> (52.8359451293945, -52.9375076293945)
Результат не тот, который я ожидал.
Так что я не знаю, если мой CGPath неправильно, или если это когда я преобразовать его в SKShapeNode, что я теряю первоначальные свойства спрайтов.
Чтобы понять, почему мне нужно сделать это, пожалуйста, прочитайте this stack
EDIT 1,2
Я добавил:
shape.position = self.firstSquare.position
И я получил:
EDIT 3:
Я обновил мои объяснения выше, узловая точка моей firstSquare теперь (0,5, 0,5)
Кажется, что не работает, см. Мое редактирование. – cmii
Хорошо посмотри мой раздел редактирования –
Хорошо, я обновил свои объяснения, установив опорную точку на (0,5, 0,5). Результат все еще не то, что мне нужно. – cmii