Контроллер персонажа 2d Ball - PullRequest
0 голосов
/ 16 мая 2019

Я хотел бы создать персонаж шара, похожий на игру с красным мячом в Unity 2d, но я не могу заставить его работать так же, как тот, что в красном шаре.Я хочу, чтобы мяч катился влево и вправо и мог прыгать.Мне удалось заставить его вращаться влево и вправо, добавив физический материал, увеличив трение и добавив функцию rb.AddForce (), но у меня возникли проблемы с прыжками.Я попробовал rb.velocity (), но когда я прыгаю и двигаюсь вправо или влево, мяч слишком сильно добавляет силу и просто движется слишком быстро.Я что-то упустил или есть лучший способ сделать это?Мне нужна помощь .....

1 Ответ

0 голосов
/ 16 мая 2019

Быстрое решение этой проблемы - определить верхний предел.Например:

float limit = 10f;
Rigidbody2D rig;

void Start(){
  rig = gameObject.transform.GetComponent<Rigidbody2D>();
}

void Update(){
if(Input.GetKeyDown(KeyCode.A && rig.velocity.magnitude < limit){

  rig.AddForce(accelerationVariable);
 }
}

Я бы использовал Rigidbody.velocity.magnitude, потому что он дает вам длину вектора.Если вы просто хотите проверить x-Force, используйте Rigidbody.velocity.x

Надеюсь, это поможет

...