0
私は画面上にノードがあるゲームを作成しています。プレイヤーが画面に触れるとノードは正常に機能しますが、プレイヤーがノードをタップしてアクションが発生したときに必要です。画面上でノードをタッチするのを止める方法は? SpriteKit
ここには何が起こっているのかのコードがあります。
var ballNode = SKSpriteNode(imageNamed: "balls.png")
var touchLocation = CGPoint()
override func didMove(to view: SKView) {
ballNode.size = CGSize(width: 100, height: 100)
ballNode.position = CGPoint(x: self.size.width*0.5, y: self.size.height*0.9)
self.addChild(ballNode)
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch: UITouch = touches.first!
let positionInScene = touch.location(in: self)
let touchedNode = self.atPoint(positionInScene)
touchLocation = touch.location(in: self)
let moveDown = SKAction.moveTo(y: self.size.height*0.1, duration: 0.3)
let moveUp = SKAction.moveTo(y: self.size.height*0.9, duration: 0.3)
let moveSequence = SKAction.sequence([moveDown, moveUp])
ballNode.run(moveSequence)
let pointOfTouch = touch.location(in: self)
ballNode.contains(pointOfTouch)
ありがとう、それは魅力のように動作します。 –
あなたの歓迎ですが、これを正しい答えとして選択してください。昨日私の受け入れられた答えの少なくとも20%がアップ票を持たなかったため、昨日(Tenacious)バッジを受け取りました:( –
あなたは@RonMyschukを持っています –