嗨,我是Xcode和Swift的新手,现在我正在尝试设计一款游戏,其中涉及到一艘宇宙飞船与外星宇宙飞船的玩家。我遇到了一个小问题,我试图区分宇宙飞船的运动和发射宇宙飞船。
基本上,我使用touchesBegan()函数来运行我的宇宙飞船触发的函数,并使用touchesMoved()函数来移动宇宙飞船的x位置。
代码如下:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
pShoot()
}
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches{
let location = touch.location(in: self)
spaceship.run(SKAction.moveTo(x: location.x, duration: 0.5))
}
}我想要做的是区分点击或触摸指示器和按下和移动指示器,换句话说,我不想让飞船在我被按下并在屏幕上移动时开火,我不希望当我不断点击但在不同的位置时,飞船会移动。( touchesMoved()检测触摸位置的变化,因此如果我在不同位置单击,宇宙飞船将移动,这是我不想要的)
我想知道实现这一点的最好方法是什么,谢谢。
发布于 2019-04-17 06:17:17
您可以尝试检查用户按下的区域,并根据触摸的来源决定是否移动宇宙飞船。
https://stackoverflow.com/questions/55716873
复制相似问题