2017-03-11 8 views
0

すべての画面にスプライトノードがありますが、画像はすべての画面ではなく、どこかにしかありません。透明でない画像にのみタッチする方法や透明なピクセルなどを削除する方法...おそらく物理学を使っているのでしょうか?手伝ってくれてありがとう!Swift3のSKSpriteNodeの非透過ピクセルのみでタッチする

 node = SKSpriteNode() 
     node.texture = SKTexture(imageNamed: "yes.png") 
     node.name = "yes" 
     node.size = self.frame.size 
     node.position = CGPoint(x: 0, y: node.size.height) 
     node.zPosition = 3 

     self.addChild(node) 

答えて

1

画像が表示されていないと、あなたの問題のように見えるもの以外の明確な回答は得られません。

これを行うことで、SKPhysicsBodyを使用して問題を解決することができます。

let texture = SKTexture(imageNamed: "yes.png") 
let node = SKSpriteNode(texture: texture) 

node.name = "yes" 
node.size = self.frame.size 
node.position = CGPoint(x: 0, y: node.size.height) 
node.zPosition = 3 
node.physicsBody = SKPhysicsBody(texture: texture, size: texture.size()) 
self.addChild(node) 

適切な衝突動作を得るには、フィジックスボディも設定する必要があります。

+0

このヘルプ!ありがとう!このメソッドをテクスチャ配列(アトラス)に設定する方法を教えてください。 –

関連する問題