我已经创建了一个应用程序,我一直在使用具有这种特殊属性的自定义子类
class SKSpriteNodeB: SKSpriteNode{
var tempFlag = Bool()
var tempA = CGFloat()
var tempB = CGFloat()
var tempC = CGFloat()
}
并且这样打电话:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for _ in touches {
let touch: UITouch = touches.first!
let location = touch.locationInNode(self)
let touchedNode = self.nodeAtPoint(location) as? SKSpriteNodeB
touchedNode.tempA = 5.0
touchedNode.tempFlag = false
//Do something
}}
这在iOS 9.0及更高版本中运行良好但是当我在运行iOS 8.4的iPad mini中测试时,这些SKSpriteNodeB没有响应触摸。我有其他节点不是SKSpriteNodeB&正在运行。一些建议将不胜感激!谢谢!
答案 0 :(得分:0)
我在这样的情况下做的一件事,当我想要一个节点被“隐藏”但仍然可以点击而不是将hidden设置为true时,我将alpha设置为0.0,以及我想要“取消隐藏”节点的时间我只是增加节点的alpha。