如何为不是矩形或圆形的精灵节点建模

How to model a spriteNode that isnt a rectangle or a circle

您好,我的游戏中有一些三角形需要 collisionBitMask 来处理接触,但除了 circleOfRadius 或 RectangleOfSize 之外,我不知道如何为 physicsBody 建模。如何制作自定义物理体以使接触准确。这是我游戏中许多不同 characters/obstacles 的问题。

var randomNumber = arc4random() % 3
    var randomMountainImage:String!
    if randomNumber == 0 {
        randomMountainImage = "RedMountain.png"
    } else if randomNumber == 1 {
        randomMountainImage = "OrangeMountain.png"
    } else {
        randomMountainImage = "BeigeMountain.png"
    }
    var mountainTexture = SKTexture(imageNamed: randomMountainImage)
    var randomMountain = SKSpriteNode(texture: mountainTexture)
    var maxPositionOffset = min(100, movementAmount)
    randomMountain.position = CGPointMake( CGRectGetMidX(self.frame) + self.frame.width, 200 - gapHeight + CGFloat(movementAmount))
    randomMountain.zPosition = 8
//here is the problem
    randomMountain.physicsBody = SKPhysicsBody(rectangleOfSize: randomMountain.size)
    randomMountain.physicsBody?.dynamic = false
    self.addChild(randomMountain)

您可以将 SKTexture 设置为您的 SKPhysicsbody 参数:

randomMountain.physicsBody = SKPhysicsBody(texture: mountainTexture, size: mountainTexture.size)