我刚开始教自己一些快速,我正在尝试创建一个带有凹形物理体的3面盒子。我在侧面使用图像,并在另一侧和底座使用相同的图像。我为每个人分配了一个位置并添加到视图中,但是当使用bodyWithBodies方法时,我得到以下日志错误:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [SKSpriteNode _shapes]:无法识别的选择器发送到实例0x78737140'
在AppDelegate类中使用消息'Thread 1:SIGABRT'。
如果有人能告诉我这是什么问题,那么我将非常感激。
这是我的代码:
let side1 = SKSpriteNode(imageNamed: "430x30.png")
side1.anchorPoint = CGPoint(x: 0,y: 0)
side1.position = CGPoint(x: self.size.width/2 - 100 ,y: self.size.height/2 - 100)
side1.physicsBody = SKPhysicsBody(rectangleOfSize: side1.size)
self.addChild(side1)
let side2 = SKSpriteNode(imageNamed: "430x30.png")
side2.anchorPoint = CGPoint(x: 0,y: 0)
side2.position = CGPoint(x: self.size.width/2 + 100,y: self.size.height/2 - 100)
side2.physicsBody = SKPhysicsBody(rectangleOfSize: side2.size)
self.addChild(side2)
let base = SKSpriteNode(imageNamed: "30x430.png")
base.anchorPoint = CGPoint(x: 0,y: 0)
base.position = CGPoint(x: self.size.width/2 - 100,y: self.size.height/2 - 100)
base.physicsBody = SKPhysicsBody(rectangleOfSize: base.size)
self.addChild(base)
let box = SKPhysicsBody(bodies:[base,side1,side2])
box.categoryBitMask = PhysicsCategory.Box // 3
box.contactTestBitMask = PhysicsCategory.None // 4
box.dynamic = false
谢谢,
足
答案 0 :(得分:0)
从一组物体创建物理主体的方法需要一组物理主体对象;你正在传递一系列精灵。要解决此问题,请将方法调用更改为
let box = SKPhysicsBody(bodies:[base.physicsBody,side1.physicsBody,side2.physicsBody])