Я пытаюсь создать наложение в SpriteKit, используя SKSpriteNode
. Тем не менее, я хочу, чтобы штрихи проходили через оверлей, поэтому я установил isUserInteractionEnabled
в false. Однако, когда я это делаю, SKSpriteNode
все еще, кажется, поглощает все касания и не позволяет базовым узлам ничего делать.SKSpriteNode не позволяет касаниям проходить, когда isUserInteractionEnabled false
Вот пример того, что я говорю о:
class
TouchableSprite: SKShapeNode {
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
print("Touch began")
}
}
class GameScene: SKScene {
override func sceneDidLoad() {
// Creat touchable
let touchable = TouchableSprite(circleOfRadius: 100)
touchable.zPosition = -1
touchable.fillColor = SKColor.red
touchable.isUserInteractionEnabled = true
addChild(touchable)
// Create overlay
let overlayNode = SKSpriteNode(imageNamed: "Fade")
overlayNode.zPosition = 1
overlayNode.isUserInteractionEnabled = false
addChild(overlayNode)
}
}
Я попытался подклассов SKSpriteNode
и вручную делегировании события прикосновения к соответствующим узлам, но это приводит к много странного поведения.
Любая помощь будет высоко оценена. Благодаря!
Ваш zposition находится ниже сцены, так что ваш ZOrder является overlay-> scene-> touchable – Knight0fDragon