gpt4 book ai didi

sprite-kit - watchOS 3 SpriteKit 中的 TouchEvents?

转载 作者:行者123 更新时间:2023-12-03 18:57:54 29 4
gpt4 key购买 nike

在 watchOS 3 中使用 SpriteKit 时,如何处理触摸事件?我正在从 iOS 移植 SpriteKit 游戏,下面的代码将不起作用。或者你必须以某种方式控制 WKInterfaceController ?

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {}

override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {}

override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {}

override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {}

最佳答案

在对同一问题感到非常沮丧之后,我最终使用了手势识别器,并从那里计算了位置。

@IBAction func handleSingleTap(tapGesture: WKTapGestureRecognizer) {
let location = tapGesture.locationInObject()
if yourSpriteNodeRect.contains(location) {
//do stuff
}
}

不过有一个提示:我在创建处理手势识别器的方法时发现的一个奇怪的错误是,默认情况下手势没有传递到方法中。我不得不按 ctrl + 拖动来创建方法,然后修改签名以包含手势。如果我使用签名中的手势创建方法,Xcode 将不允许我将手势识别器附加到它。

似乎有更好的方法来检测触摸,但这是我现在找到的解决方法。

关于sprite-kit - watchOS 3 SpriteKit 中的 TouchEvents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38137178/

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