Я делаю игру, в которой участвует рыцарь со щитом, вращающимся на неподвижной точке. Щит и рыцарь должны иметь разные физические тела, чтобы они могли взаимодействовать с снарядами по-разному. Я ищу способ привязать щит к рыцарю, чтобы они вращались вместе, и рыцарь действовал как центр. Я пытался добавить щит к рыцарю в детстве, но это меняет точку поворота центра где-то между ними, заставляя рыцаря покидать центр.Прикрепление SpriteNodes в SpriteKit
var knight = SKSpriteNode()
var shield = SKSpriteNode()
// KNIGHT
var knightSkin = SKTexture(imageNamed: "PlaceholderKnight.png")
knight = SKSpriteNode(texture: knightSkin)
let knightResize = SKAction.scaleBy(0.6, duration: 0.0)
knight.runAction(knightResize)
knight.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
knight.zPosition = 100
let knightSize = CGSizeMake(knight.frame.size.width, knight.frame.size.height)
knight.physicsBody = SKPhysicsBody(rectangleOfSize: knightSize)
self.addChild(knight)
// SHIELD
var shieldSkin = SKTexture(imageNamed: "PlaceholderShield.png")
shield = SKSpriteNode(texture: shieldSkin)
shield.zPosition = 100
let shieldSize = CGSizeMake(shield.frame.size.width, shield.frame.size.height)
shield.physicsBody = SKPhysicsBody(rectangleOfSize: shieldSize)
knight.addChild(shield)
Вам нужно будет настроить точку актера щита. –
@EpicByte anchor point – 0x141E
@ 0x141E Упс хороший улов, не могу редактировать мой комментарий, хотя: | –