在SpriteKit / Swift中向后拖动以触发箭头?

时间:2017-06-06 22:26:10

标签: ios swift sprite-kit skspritenode

我正在使用SpriteKit创建一个iOS应用程序,其中两个弓箭手放置在GameScene的随机x位置。场景加载后,相机将对焦于场景左侧的弓箭手位置。从这里开始,我希望用户能够按下屏幕,“向后拉”并释放他们的手指,以相对于用户的背部和角度以一定的角度和功率水平发射箭头移动他们的手指并最终放手(想想“愤怒的小鸟”中的射击动作,其中玩家将手指向后拖动并释放,向相反的方向射击鸟)。我很好奇如何获得一个角度(与拉回方向相反)和来自用户在我的应用程序中进行的触摸的功率水平。我不需要一个完整的解释,但可能有一些提示或资源可能会在SpriteKit中使用类似的功能,或者可能指向一个处理这种用户交互的方法。我对SpriteKit的体验主要限于简单的触摸,但没有像拖动那样先进的创建所谓的触发数据。任何提示/帮助表示赞赏。感谢。

-David

1 个答案:

答案 0 :(得分:1)

使用touchesBegantouchesEnded方法确定'行'玩家拖了他们的手指。使用这些起点和终点以及一些基本的三角形来确定线的角度和长度。

这些形成你的射击角度和力量。然后,您可以添加一些简单的图形效果(例如,如果您不断重新计算touchesMoved中的当前行,则可以将弓形的精灵旋转到当前角度等)。