Как ограничить скорость

Программирование на Юнити.

Как ограничить скорость

Сообщение BeeJayZe 05 ноя 2017, 14:02

Хочу сделать управление для персонажа,пока пробую сделать всё на квадратике. Дело в том,что я не знаю,как ограничить его скорость,он разгоняется до бесконечности,а какие условия и куда ставить,пока не додумался. Может кто подскажет,куда мне вбить 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);
}


}
BeeJayZe
UNец
 
Сообщения: 1
Зарегистрирован: 04 ноя 2017, 22:46

Re: Как ограничить скорость

Сообщение Anonymyx 05 ноя 2017, 14:09

В настройках RigidBody объекта попробуйте повысить параметр Drag.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: Как ограничить скорость

Сообщение JackZI 16 ноя 2017, 22:08

AddForce по названии говорит что управляет инерцией, тоисть он ускоряется, чтобы ограничить силу нужно... ограничить velocity :))
JackZI
UNец
 
Сообщения: 19
Зарегистрирован: 10 ноя 2016, 16:11

Re: Как ограничить скорость

Сообщение Cr0c 16 ноя 2017, 23:15

Вангую, что прыжок глючит )) на прыжок задавать velocity вместо AddForce
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6