2D ゲームの移動プラットフォームでのキャラクターの子育てに苦労しています。
プレイヤーが移動プラットフォームを踏んだときの検出に OnTriggerEnter2D() を使用しています。彼の親をそのプラットフォームに変更します。一般的な移動プラットフォーム (左右) では、すべて正常に機能します。キャラクターがそのプラットフォームに立っている場合、キャラクターはそれと平行に移動し、歩いたり、ジャンプしたりできます。HingeJoint2D で接続された 2 本のロープにぶら下がっているプラットフォームを使用すると、問題が発生します。プレーヤーは、左右に歩いてそのプラットフォームをスイングする必要があります。キーボード入力を使用するとすべて正常に動作しますが、タッチ入力コントローラーを使用すると、プレーヤーが動かない場合、キャラクターは 1 つの場所にとどまり、そのプラットフォームでは動きません。階層パネルではすべてが正しく、プレーヤーはプラットフォームの子であり、プラットフォームは動いていますが、キャラクターは動いていません。
キャラクターを動かすために私はこれを使用しています:(キャラクターコントローラーの一部)
float move = Input.GetAxis ("Horizontal”);
rigidbody2D.velocity = new Vector2 (move * maxSpeed, rigidbody2D.velocity.y);
キーボードやタッチ入力も同様です。違いは「move」変数の取得だけです。プラットフォームの移動とスイングのソリューションも同じです。(階層、親、コライダーなど)
これに数時間苦労していますが、何が問題なのかわかりません。
助けてくれてありがとう。