SKShapeNode と SKSpriteNode の衝突判定について
衝突判定がうまいこと行きません。
やはりSKShapeNode と SKSpriteNode ではうまく衝突しないようになっているのですか?
SKShapeNode から SKSpriteNode に衝突するとうまくいくのですが
SKSpriteNode から SKShapeNode に衝突するとうまいこといきません。
class GameScene: SKScene, SKPhysicsContactDelegate { var backgroundNode: SKSpriteNode! var aNode = SKSpriteNode(imageNamed: "anode") var bNode = SKSpriteNode(imageNamed: "bnode") var lightNode : SKShapeNode! var touchedNode: SKNode? override func didMove(to view: SKView) { physicsWorld.gravity = CGVector(dx:0, dy:0)//重力 self.physicsBody = SKPhysicsBody(edgeLoopFrom: self.frame) physicsWorld.contactDelegate = self aNode.position = CGPoint(x:self.frame.midX, y:self.frame.midY + 150) aNode.physicsBody = SKPhysicsBody(rectangleOf: aNode.size) aNode.setScale(0.1) addChild(aNode) bNode.position = CGPoint(x:self.frame.midX, y:self.frame.midY - 150) bNode.physicsBody = SKPhysicsBody(rectangleOf: bNode.size) bNode.setScale(0.1) addChild(bNode) lightNode = SKShapeNode(rectOf: CGSize(width: 50.0, height: 50.0)) lightNode.position = CGPoint(x:self.frame.midX, y:self.frame.midY) lightNode.physicsBody = SKPhysicsBody(rectangleOf: lightNode.frame.size) lightNode.fillColor = UIColor.blue addChild(lightNode) // aNode.physicsBody?.categoryBitMask = 0b0001 // bNode.physicsBody?.categoryBitMask = 0b0010 // lightNode.physicsBody?.categoryBitMask = 0b0001 // // aNode.physicsBody?.collisionBitMask = 0b0001 // bNode.physicsBody?.collisionBitMask = 0b0001 // lightNode.physicsBody?.collisionBitMask = 0b0001 }
あなたの回答
tips
プレビュー