少し前、私の最初の個人用モバイルゲームがリリースされました。 一番下の行は、指で敵をかむ必要があるということです。 アルゴリズムは一意ではありませんが、まれです。 一見、2本の指のズーム動作を聞くだけで、複雑なことはないように見えますが、ゲームの開発中にさまざまな落とし穴が明らかになります。
- 顎の圧縮時間の計算;
- 咀wingとキャラクター制御の組み合わせ。
- テスト中にパラメーターを変更します。
すべてのコードは、2Dゲーム用のUnity3Dエンジン用にC#で記述されています。 コードに直接進みます。 Updateメソッドで、tachiの数を計算し、対応するアクションを実行します。 ワンタッチの場合、キャラクターを移動します:
複雑なことは何もありません。先に進むことができます。 ツータッチ処理コード。 顎のクレンチング/アンクレンチングがない場合、キャラクターは2本の指の間を移動します。
if (Input.touchCount > 1) {
fingersMunchDetectionMinは、
咀 startを開始するのに十分な距離を決定する変数です。 数人の友人の助けを借りて十分に長く調整しました。 それぞれが異なる認識を持ち、その間に何かを推測しました。 テスト中、指で常に噛むことはユーザーにとって単に不便であることが明らかになりました。 簡単なタップで顎を圧縮する必要があり、上記の方法は次の形式を取得しました。
if (Input.touchCount > 1) {
定数SECONDS_FOR_TAP-タップに割り当てられた時間と噛む距離がテストされ、長時間調整されました。 さて、実際には単純なタプを噛む最後の方法:
void SetTapAttackListener() { if (Input.touchCount > 0) { foreach (Touch touch in Input.touches) {
最初は、コピーアンドペーストではなく、インターネット上でこのアルゴリズムを見つけようとしましたが、私の思考の流れをテストしました。 しかし、何も見つからなかったので、同僚を助けるためにそれをレイアウトすることにしました。 今では、コードが多少混chaとしていることがよくわかりますが、そうでない場合はコメントを待っています。
更新1:
アルゴリズムのデモンストレーション:

アップデート2:
ゲーム開発の記事