@Jestome

Как указать траекторию движения врага в Unity 2d?

Тостеры, не ругайте строго, Unity открыл только вчера (раньше вообще писал на питоне). В общем нужен скрипт, чтобы враг двигался от одного Transform'а к другому и в их координатах останавливался на некоторое время (именно 2D). И не пишите пожалуйста "учись гуглить" или что-то ещё (гугл выдаёт сложные 3D скрипты, например с погоней за играком, а мне это не нужно (ну или, что вероятно, я не умею гуглить) ), в своё оправдание могу сказать, что с Unity знаком второй день. Большое спасибо.
  • Вопрос задан
  • 4249 просмотров
Решения вопроса 1
@Jestome Автор вопроса
Уже написал, кому нужно пользуйтесь:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnemyController2D : MonoBehaviour
{

    public int Speed = 1;
    public Transform point_1;
    public Transform point_2;
    Rigidbody2D rgb;
    bool OnRight;

    void Awake()
    {
        rgb = GetComponent<Rigidbody2D>();
    }

    void Update()
    {
        if (gameObject.transform.position.x <= point_2.position.x)
        {
            OnRight = true;
        }
        if (gameObject.transform.position.x >= point_1.position.x)
        {
            OnRight = false;
        }

        MakePosition();
    }

    void MakePosition()
    {
        if (OnRight)
        {
            rgb.velocity = new Vector2(Speed, rgb.velocity.y);
        }
        else
        {
            rgb.velocity = new Vector2(-Speed, rgb.velocity.y);
        }
    }

}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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