Unityでプレイヤーキャラにジャンプと左右へ移動するスクリプトを与えたのですが、崖から落ちたときに勝手に回転して頭から落ちるようになってしまいます。
勝手に回転しないようにするにはどうしたらいいですか。
スクリプトは以下の通りです。
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerManager : MonoBehaviour { Rigidbody2D rigid2D; float jumpForce = 160f; float walkForce = 30.0f; float maxWalkSpeed = 2.0f; private void Start() { this.rigid2D = GetComponent<Rigidbody2D>(); } private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { this.rigid2D.AddForce(transform.up * this.jumpForce); } int key = 0; if (Input.GetKey(KeyCode.RightArrow)) { key = 1; } if (Input.GetKey(KeyCode.LeftArrow)) { key = -1; } //プレイヤーの速度 float speedx = Mathf.Abs(this.rigid2D.velocity.x); //スピード制限 if (speedx < this.maxWalkSpeed) { this.rigid2D.AddForce(transform.right * key * this.walkForce); } //動く方向に応じて反転 if (key != 0) { transform.localScale = new Vector3(key, 1, 1); } } } コード
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。