cocos 2dでスプライトの最終位置を取得する方法 特定の速度と角度でスワイプしたとき?
user2214211
質問する
272 次
1 に答える
0
画面全体にスプライトを「飛ばす」ことを検討していますか? 角度と速度について言及しているのでお願いします。
その場合、おそらく角度を無視して、スワイプの長さと方向に集中することができます。これにより、スプライトに適用できるベクトルが得られるからです。
ccTouchBegan
タッチの初期点座標を保存する必要があります。
にccTouchEnded
最後のタッチ ポイントがあるので、小さなピタゴラスを使用して、これら 2 点間の距離を計算できます。これでスワイプの長さがわかりました。
速度を計算するには、タッチとリリースの間の時間を計算し、これを使用して、タイムスタンプごとにタッチが移動した単位数を計算する必要があります。
スプライトの静止点は、この力をスプライトにどのように適用するかによって異なります。スワイプ ベクトルをスプライトに適用している場合、update
? 位置がどこになるかを確認するには、そこで使用するのと同じ式を適用する必要がありますが、代わりに任意のタイムスタンプを渡しますdelta time
。これにより、オブジェクトがT秒後にどこに到達するかがわかります。
スプライトの位置が静止し、静止点が得られるまで、Tの値を増やしながら複数回呼び出します。
于 2013-05-03T10:15:27.993 に答える