Есть ли * короткий код *, чтобы заставить мяч (игрока) прыгать, если я нажму кнопку клавиатуры? - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь найти самый короткий код, который можно использовать для перехода (без использования Rigidbody)

Я новичок, и я использовал движок Unity, Я пытаюсь изучить основы, используя самые короткие коды, Я хочу узнать, как заставить мяч прыгать, когда я нажимаю стрелку вверх или любую клавишу, которую я выбрал.

float Speed = 4;  
float ground;

void Start()
{
    ground = transform.position.y;
}

void Update()
{
    if (Input.GetKey(KeyCode.RightArrow))
    {
        transform.Translate(Time.deltaTime * Speed, 0, 0);
    }

    if (Input.GetKey(KeyCode.LeftArrow))
    {
        transform.Translate(Time.deltaTime * -Speed, 0, 0);
    }

    if (ground == transform.position.y && Input.GetKey(KeyCode.UpArrow))
    {
        // stucked here XD
    }


}

1 Ответ

0 голосов
/ 17 января 2019

Чем короче код, тем не лучше. Научитесь правильно писать код, а остальное придет с легкостью. Если вы умеете хорошо писать на C #, то вам нужно перейти к Справочнику по сценариям Unity3D и изучить некоторые API / Framework.

https://docs.unity3d.com/Documentation/ScriptReference/

Однако в этом случае - вашему игроку нужен либо компонент «CharacterController», либо «RigidBody», прикрепленный к нему.

Перевод - это простая функция, используемая для перемещения преобразований, ее не следует использовать для «прыжка», так как столкновение используется неправильно.

Если вы используете RigidBody, вы можете применить направленную вверх силу к объекту.

Весь этот код сделан для вас и может быть изучен, если вы импортируете пакет «Стандартные активы», который поставляется с Unity (или из хранилища активов). Вы найдете сценарии движения, сценарии камеры и так далее.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...