相关疑难解决方法(0)

使用SpriteKit阻止对象发生碰撞

我正在测试SpriteKit的功能,我遇到了一个问题.我正在阅读比特面具,碰撞,类别和联系.我得到它们是什么,大多数情况下,至少,我没有得到类别位掩码的点,但我得到碰撞位掩码,这是我需要解决我的问题.

好吧我的问题是我有两种不同类型的精灵:对象第二种.名称并没有多大意义,但它只是为了测试.我希望第二个有冲动,我希望对象有力量.我能够在精灵上应用相应的向量,但我不希望它们相互碰撞.我希望他们通过并忽略彼此的存在.

我尝试通过为彼此分配不同的碰撞位掩码来解决该问题:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    let texture = SKTexture(imageNamed: "pokeball")
    let object = SKSpriteNode(texture: texture)

    object.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: object.size.width,height: object.size.height))
    object.physicsBody?.affectedByGravity = false
    object.yScale = 0.5
    object.xScale = 0.5

    for t in touches {
        object.position = t.location(in: self)
    }
    self.addChild(object)
    object.physicsBody?.collisionBitMask = UInt32(4)
    object.physicsBody?.applyForce(CGVector(dx: 0, dy: 10))

}

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
    let texture = SKTexture(imageNamed: "purple")
    let second = SKSpriteNode(texture: texture)
    let …
Run Code Online (Sandbox Code Playgroud)

sprite-kit swift

11
推荐指数
1
解决办法
1652
查看次数

标签 统计

sprite-kit ×1

swift ×1