【发布时间】:2015-04-29 08:19:54
【问题描述】:
我想检测除了透明部分之外的精灵每个部分的碰撞。我找到了 C 的解决方案,但我不知道如何快速完成。
这是 Obj-C 解决方案: sprite kit collisions: ignore transparency?
有人知道吗?
编辑:
这是我构建形状的函数代码。我不确定如何将 spriteName.physicsBody 设置为另一个用户在下面提供的答案。
func addTriangles() {
center = SKSpriteNode(imageNamed:"images/center.png")
center.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
center.zPosition = -1
center.physicsBody = init!(texture centerTexture: SKTexture!, size 1.0: CGSize) -> SKPhysicsBody?
center.physicsBody?.dynamic = false
center.physicsBody?.affectedByGravity = false
center.physicsBody?.categoryBitMask = PhysicsCategory.Triangle
self.addChild(center)
spin = clockwise
center.runAction(SKAction.repeatActionForever(spin))
}
【问题讨论】:
-
Apple documentation 中有 Swift 示例。
-
你在说:init!(纹理纹理:SKTexture!,尺寸大小:CGSize)-> SKPhysicsBody?我一直在试图弄清楚如何使用它。
-
嗯,你做同样的事情,但在迅速......?没有 API 区别,你只需用 swift 重写代码。
标签: swift transparency collision transparent