SpriteKit を使い始めたところ、問題が発生しました。
オブジェクトが必要です。私はそれをplayerControllerと呼びます。これは、プレーヤーのタッチとパックに追従し、コントローラーにヒットする可能性があり、その場合コントローラーがバウンスします。
なんとなくエアホッケーのようなゲーム。
テクスチャと物理演算を使用して 2 つの SKNode を構築したため、重力がオンになっている場合やコントローラーが一定の速度で移動している場合に、それらが互いに適切に跳ね返ります。
ただし、コントローラーが次のアクションによって動かされた場合、パックは跳ね返りません。
SKAction *moveTo = [SKAction moveTo: CGPointMake(touch.position.x ,touch.position.y) duration: 0.1];
[self.controllerPlayerOne runAction: moveTo];
なんで?すでにドキュメントといくつかのチュートリアルを検索しましたが、問題に対処するものはありませんでした。これは SpriteKit の開発者が望んでいるのかもしれませんが、この場合、タッチに追従することはどのように実現されるのでしょうか?
うまくいけば、誰かが助けてくれるでしょう。
編集:
現在、コントローラーの位置をタッチ位置に設定し、タッチが移動するたびに、タッチの最後の位置と現在の位置を使用して速度を計算することにより、コントローラーパックの動作を取得しました。
これはかなりうまくいっています。