我将一个按钮作为 spriteNode 添加到场景中,并且我想在触摸取消时运行一个动作。
我添加了一个“touches-cancelled”方法并编写了一个“NSLog”来测试这个方法是否被调用。在我运行我的项目后,没有输出显示此方法被调用。
如何对我的按钮运行“触摸取消”方法?
我将一个按钮作为 spriteNode 添加到场景中,并且我想在触摸取消时运行一个动作。
我添加了一个“touches-cancelled”方法并编写了一个“NSLog”来测试这个方法是否被调用。在我运行我的项目后,没有输出显示此方法被调用。
如何对我的按钮运行“触摸取消”方法?
为了能够在基于 touchPosition 的按钮节点上有效地实现类似 touchesCancelled 的功能,您需要将 SKSpriteNode 子类化为按钮。它必须自己实现触摸代表。
可以在此答案中找到如何执行此操作的示例:
https://stackoverflow.com/a/19199748/2043580
它包括当 touchPoint 在方法中超出节点边界时将纹理设置回未选中状态的代码-touchesMoved
。