@Aliem51

Как настроить направленное движение персонажа по стрелке?

Я хочу создать игру по типу Hyper Dash! (вот сама игра). Но у меня не получается настроить управление, чтобы персонаж прыгал по направлению стрелки на противоположные платформы (количество платформ на верху 6, внизу 6). Помогите пожалуйста! Я новичок в программирований.

Данный момент у меня такой код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{
    private Rigidbody2D rb;
    private bool top; 

    public float speed = 4f;

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            rb.gravityScale *= -1;
            Rotation();
        }
        transform.Translate(Vector3.forward * speed * Time.deltaTime);
    }

    void Rotation()
    {
        if (top == false)
        {
            transform.eulerAngles = new Vector3(0, 0, 180f);
        }
        else
        {
            transform.eulerAngles = Vector3.zero;
        }

        top = !top;
    }
}
  • Вопрос задан
  • 213 просмотров
Пригласить эксперта
Ответы на вопрос 1
@NIKROTOS
Начинающий программист.
Не могу посмотреть видео. Судя по твоему описанию, тебе нужно двигаться в сторону курсора. Я делал курсор отдельным объектом, который двигал мышкой, получить его координаты не проблема. Тебе нужно получить вектор направления от игрока до курсора, для этого нужно из координат курсора вычесть координаты игрока.(https://docs.unity3d.com/ru/530/Manual/DirectionDi...)
Если мы будем использовать данный вектор для движения, то скорость будет зависеть от расстояния, так что его нужно будет сделать единичным(нормализовать(https://poqxert.ru/blog/unity/tutorials/matematika...)) и домножать на коэффициент скорости.

Стоит так-же изучить:https://docs.unity3d.com/ru/530/Manual/Understandi...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы