Хочу сделать управление для персонажа,пока пробую сделать всё на квадратике. Дело в том,что я не знаю,как ограничить его скорость,он разгоняется до бесконечности,а какие условия и куда ставить,пока не додумался. Может кто подскажет,куда мне вбить MaxMoveSpeed?
Скрытый текст:
using System.Collections; using System.Collections.Generic; using UnityEngine; [RequireComponent (typeof (Rigidbody2D))] public class AddForce : MonoBehaviour { Rigidbody2D Move; public float moveSpeed = 10f; public float JumpSpeed = 25f; public float MaxMoveSpeed = 15f; void Start() { Move = GetComponent<Rigidbody2D> (); }
void FixedUpdate() { if (Input.GetKey (KeyCode.D)) Move.AddForce(new Vector2 (moveSpeed,0)); if (Input.GetKey (KeyCode.A)) Move.AddForce(new Vector2 (-moveSpeed, 0)); if (Input.GetKeyDown (KeyCode.Space)) Move.AddForce(new Vector2 (0, JumpSpeed),ForceMode2D.Impulse); }
}
Re: Как ограничить скорость
Добавлено: 05 ноя 2017, 14:09
Anonymyx
В настройках RigidBody объекта попробуйте повысить параметр Drag.
Re: Как ограничить скорость
Добавлено: 16 ноя 2017, 22:08
JackZI
AddForce по названии говорит что управляет инерцией, тоисть он ускоряется, чтобы ограничить силу нужно... ограничить velocity
Re: Как ограничить скорость
Добавлено: 16 ноя 2017, 23:15
Cr0c
Вангую, что прыжок глючит )) на прыжок задавать velocity вместо AddForce