【发布时间】:2015-09-27 12:31:10
【问题描述】:
如果我创建一个 SKPhysicsBody 并将其添加到一个 SKSpriteNode 如下,那么碰撞检测与下面的地板对象一起工作。
let myObjectBody = SKPhysicsBody(circleOfRadius: 100)
但是,如果我改为使用应用它的 SKSpriteNode 的纹理创建 PhysicsBody,则碰撞不起作用。尽管它确实记录了接触,但该物体只是从地板上掉了下来。
let myObjectBody = SKPhysicsBody(texture: myObject.texture!, alphaThreshold: 0, size: myObject.texture!.size())
重要提示:如果我将 show Physics 设置为 true:
skView.showsPhysics = true
然后物理轮廓与从 png 生成的精灵形状轮廓完美匹配。
physicsBody 以下列方式添加到对象和场景中。
let myTexture = SKTexture(imageNamed: "myImage")
let myObject = SKSpriteNode(texture: myTexture)
myObject.xScale = 0.2
myObject.yScale = 0.2 //The image is big to allow zooming
let myObjectBody = SKPhysicsBody(texture: myObject.texture!, alphaThreshold: 0, size: myObject.texture!.size())
myObject.physicsBody = myObjectBody
myWorld.addChild(myObject)
【问题讨论】:
-
您能否提供信息如何将
SKPhysicsBody添加到您的场景中? -
嗨,但我还是看不到你从哪里得到
myObject?这是一个什么样的类,你是如何初始化它的?
标签: sprite-kit