Sprite-Kit:节点不会向左移动
Posted
技术标签:
【中文标题】Sprite-Kit:节点不会向左移动【英文标题】:Sprite-Kit: Node won't move left 【发布时间】:2017-12-21 09:54:45 【问题描述】:我有一个地形平坦的球,但是我试图根据用户的touch
位置移动球,所以当用户点击屏幕上的任何位置时,我将我的球移动到触摸的X
位置
我的代码:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
for touch in touches
if (ball?.hasActions())!
ball?.removeAllActions()
let moveBY = SKAction.moveBy(x: touch.location(in: view).x, y: 70, duration: 1)
self.ball?.run(moveBY)
但是,当用户点击屏幕时,小球会随之移动,但是当第二次点击时,小球不会按照触摸的X
移动
【问题讨论】:
【参考方案1】:当你应该使用moveTo时,你正在使用moveBy。
【讨论】:
【参考方案2】:你应该试试这个:
func touchDown(atPoint pos : CGPoint)
if ball.hasActions()
ball.removeAllActions()
let moveBY = SKAction.moveBy(x: pos.x, y: 70, duration: 1)
self.ball.run(moveBY)
我改变了功能
【讨论】:
请在您的回答中添加一些解释。 如果点击屏幕,就会调用 touchDown 函数。所以代码测试是否已经有一个动作,并停止这个当前正在运行的动作。然后我只是添加另一个动作,一直运行到它完成或退出。以上是关于Sprite-Kit:节点不会向左移动的主要内容,如果未能解决你的问题,请参考以下文章