0
私は連絡先の2つのオブジェクトを検出する方法を知っており、画面がタッチされたときを検出する方法を知っています。しかし、連絡先の2つのオブジェクトの間に画面がタッチされたかどうかを知りたければどうなりますか? touchesBeganのブール値フラグは、接触が連絡先の前に来た場合に機能しますが、その間には受け付けません。SpriteKit touchesBeganとdidBeginContact
あなたはときdidBegin
と偽
didEnd
真である条件変数を作成する必要が
var screenTouch = false
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for _ in touches {
screenTouch = true
}
}
func didBegin(_ contact: SKPhysicsContact) {
let collision = contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask
switch collision {
case PhysicsCategories.Ball | PhysicsCategories.Edge:
if screenTouch {
print("LAUNCH!")
}
etc.