在 touchesMoved 函数中移动 2 个不同的 Spritenodes
Posted
技术标签:
【中文标题】在 touchesMoved 函数中移动 2 个不同的 Spritenodes【英文标题】:Move 2 different Spritenodes in the touchesMoved function 【发布时间】:2018-04-23 01:15:05 【问题描述】:我正在尝试在 Swift 中制作 2 人游戏,到目前为止,我可以检测到多个触摸并单独移动每个节点,但是当两个玩家同时尝试移动他们的节点时,一个总是控制并移动两个节点同时,当两个节点都被触摸时,我的代码如下:
if Touching && Touching2
for touch: AnyObject in touches
let Loc = (touch as! UITouch).location(in: self)
let PrevLoc = (touch as! UITouch).previousLocation(in: self)
let Shell = self.childNode(withName: ShellCategory) as! SKSpriteNode
var NewPos = Shell.position.x + (Loc.x - PrevLoc.x)
NewPos = max(NewPos, Shell.size.width / 2)
NewPos = min(NewPos, self.size.width - Shell.size.width / 2)
Shell.position = CGPoint(x:NewPos, y: Shell.position.y)
let Loc2 = (touch as! UITouch).location(in: self)
let PrevLoc2 = (touch as! UITouch).previousLocation(in: self)
let Shell2 = self.childNode(withName: ShellCategory2) as! SKSpriteNode
var NewPos2 = Shell.position.x + (Loc2.x - PrevLoc2.x)
NewPos2 = max(NewPos2, Shell2.size.width / 2)
NewPos2 = min(NewPos2, self.size.width - Shell2.size.width / 2)
Shell2.position = CGPoint(x:NewPos2, y: Shell2.position.y)
先谢谢了。
【问题讨论】:
【参考方案1】:好吧,经过一番调查,我终于找到了我需要的东西,我将把它留在这里,以供未来可能会遇到类似情况的开发人员使用。
Multi-touch gesture in Sprite Kit
【讨论】:
以上是关于在 touchesMoved 函数中移动 2 个不同的 Spritenodes的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollview touchesbegin,touchesmoved,touchesendactions
在滚动视图中的自定义视图中使用触摸进行缩放。 touchesMoved 未调用