У меня, похоже, проблемы с одним из узлов на моей сцене.Swift + SpriteKit - кнопка доступна только тогда, когда ее не видно
У меня есть кнопка:
func createAttackButton() {
attackButton.zPosition = 1
attackButton.anchorPoint = CGPointZero
attackButton.position = CGPointMake(20, 20)
attackButton.size = CGSize(width: 150, height: 40)
addChild(attackButton)
}
Эта функция вызывается при контакте с противником.
Чтобы запустить функцию из этой кнопки я использую touchesBegan() FUNC:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
if attackButton.containsPoint(location) {
print("Attack Button Clicked")
}
}
}
После того, как враг был уничтожен, я удалить кнопку атаки Узел:
attackButton.removeFromParent()
Однако в область, где появляется кнопка атаки, после ее удаления эта область по-прежнему доступна.
Любые идеи?
Да, containsPoint - это простой пример сравнения, нет родителя, чтобы заставить его работать. «Ограничения узла содержат указанную точку?» - это в основном то, что выполняет функция. Поскольку позиция не является необязательной, вы всегда сможете иметь containsPoint быть проходимым, если только он не допускает ширину и высоту нуля, не уверен, что это разрешено. – Knight0fDragon