【问题标题】:How to model a spriteNode that isnt a rectangle or a circle如何为不是矩形或圆形的 spriteNode 建模
【发布时间】:2015-02-06 17:55:50
【问题描述】:

您好,我的游戏中有一些三角形形状需要碰撞位掩码来处理接触,但我不知道如何对物理体进行建模,而不是 circleOfRadius 或 RectangleOfSize。如何制作自定义物理体以使接触准确。这是我游戏中许多不同角色/障碍的问题。

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)

【问题讨论】:

    标签: swift ios8 sprite-kit skspritenode


    【解决方案1】:

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

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

    【讨论】:

    • 请注意,在 iOS 8.0 和 8.1 中使用这种方法存在一个已知的“颠倒物理体”错误,当您在后续 sprite 上重用纹理时会发生这种错误。 stackoverflow.com/questions/27748034/…希望它不会发生在你身上,但如果你注意到一个颠倒的物理物体,你就会知道发生了什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 2012-04-21
    相关资源
    最近更新 更多