gpt4 book ai didi

ios - 检测 ViewController 中 SKNode 的触摸

转载 作者:行者123 更新时间:2023-11-29 06:00:57 25 4
gpt4 key购买 nike

我有一个 SKNode(一种操纵杆),位于 ViewController 中显示的 SKView 中,如下所示:

class FeedVC: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
let joystick = Joystick()

override func viewDidLoad() {
super.viewDidLoad()
let scene = SKScene(size: joystickView.frame.size)
scene.backgroundColor = SKColor.white
scene.addChild(joystick)
joystick.position = CGPoint(x: scene.size.width / 2, y: scene.size.height / 2)
joystickView.presentScene(scene)
}
}

如何使用函数 touchesMoved() 只检测操纵杆上的触摸?如果我重写此方法,它会检测所有 View 中的触摸。我只找到了答案,其中该类是 SKScene 的子类,而不是像我这样的 UIViewController 的子类。

最佳答案

通过使用touchesMoved(),您可以像这样检测节点的触摸:

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self)
let node : SKNode = self.atPoint(location)

if node.name == "joystick" {
// Something, something, something...
}
}
}

通过执行此操作,您需要首先设置节点的名称。

关于ios - 检测 ViewController 中 SKNode 的触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54678007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com