我正在制作一个游戏,其中涉及一个骑士,其盾牌在固定点上旋转。盾牌和骑士必须拥有不同的物理身体,以便他们能够以不同的方式与射弹相互作用。我正在寻找一种方法将盾牌连接到骑士身上,以便他们将旋转在一起,骑士充当中心点。我曾经尝试过将盾牌作为一个孩子添加到骑士身上,但这会将中心旋转点改变到它们之间的某个位置,导致骑士偏离中心。
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)
答案 0 :(得分:1)
你想要一个contents
。有许多类型的物理关节,它们都允许物理体相互作用,一起移动等。例如,一个引脚将允许两个物理体围绕一个中心固定点旋转。