質問編集履歴

1 code追加

massuuuu

massuuuu score 41

2017/10/18 23:24  投稿

SKShapeNode と SKSpriteNode の衝突判定
SKShapeNode と SKSpriteNode の衝突判定について
衝突判定がうまいこと行きません。
やはりSKShapeNode と SKSpriteNode ではうまく衝突しないようになっているのですか?
SKShapeNode から SKSpriteNode に衝突するとうまくいくのですが
SKSpriteNode から SKShapeNode に衝突するとうまいこといきません。
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
       
       
   }
```
  • Swift

    12879 questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る