使用 Swift/SKScene 检测触摸
Posted
技术标签:
【中文标题】使用 Swift/SKScene 检测触摸【英文标题】:Detecting a touch with Swift/SKScene 【发布时间】:2017-06-06 21:05:15 【问题描述】:我试图弄清楚如何使用 SKScene 的子类检测屏幕上任何位置的触摸,以便我可以转换。我该怎么做?
谢谢
【问题讨论】:
使用 touchesBegan(_ touches: Set override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
let location = touch.location(in: self)
print(location)
//if your touch location = a button or anything it transitions to a new scene
if location = //Startbutton
let transition = SKTransition.reveal(with: .down, duration: 0.75)
let gameScene = GameScene(size: size)
gameScene.scaleMode = scaleMode
view?.presentScene(gameScene, transition: transition)
打印用户触摸位置...希望对 m8 有所帮助
【讨论】:
你需要小心你的答案,它不会影响场景中任何将isUserInteractionEnabled
设置为true 的节点。这些节点的触摸事件将被调用而不是这个。
@Knight0fDragon 你是怎么处理的?使用 nodesAt:(Point:) 然后遍历返回的数组以获得 SKScene?
@SteveIves 老实说,我会使用点击手势或覆盖节点,但如果无法触摸其他节点,我会使用这种方法,因为它很简单以上是关于使用 Swift/SKScene 检测触摸的主要内容,如果未能解决你的问题,请参考以下文章