Alokin
@Alokin
Задаю тупые вопросы ибо сам не отличаюсь мозгами

Как сделать, чтобы персонаж поворачивался в сторону движения в Unity?

Помогите, хочу, чтобы персонаж поворачивался в ту сторону, в которую идет. Игра 2D.
Также, если не сложно, расскажите как исправить то, что персонаж делает прыжки как в Flappy Bird (может прыгнуть во время прыжка).
Если что, я только начал изучать C# и Unity.
Вот код движения:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour {

    Rigidbody2D rb;

    void Start() {
        rb = GetComponent<Rigidbody2D>();
    }

    void Update() {
        if (Input.GetKeyDown (KeyCode.Space)) {
            jump();
        }
    }

    void FixedUpdate() {
        rb.velocity = new Vector2(Input.GetAxis("Horizontal") * 6f, rb.velocity.y);
    }

    void jump() {
        rb.AddForce(transform.up * 5f, ForceMode2D.Impulse);
    }
}
  • Вопрос задан
  • 3183 просмотра
Пригласить эксперта
Ответы на вопрос 2
Griboks
@Griboks Куратор тега C#
персонаж поворачивался в сторону, в которую идет.

void FixedUpdate() {
        rb.velocity = new Vector2(Input.GetAxis("Horizontal") * 6f, rb.velocity.y);
        if(rb.velocity>0) RotateRight();
else RotateLeft();
    }

как исправить то, что персонаж делает прыжки как в Flappy Bird

void Update() {
        if (Input.GetKeyDown (KeyCode.Space) && CanJump()) {
            jump();
        }
    }
Ответ написан
CHIDWI
@CHIDWI
Unity3D Developer
Чтобы не было даблджампа добавить булевую переменную. Перед прыжком проверяешь в прыжке персонаж или нет. В функции прыжок делаешь её true. И при приземлении через OnCollision например, делаешь её снова false.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы