Появившийся астероид движется к локации игрока, найденной при появлении, но не идет дальше - PullRequest
0 голосов
/ 07 февраля 2019

Я создаю клон Астероидов для проекта.В настоящее время я использую MoveTowards, чтобы астероиды двигались туда, где был игрок, когда они появились.Что ограничивает меня при использовании этого метода, так это то, что они делают паузу, как только достигают этой точки, что, как я знаю, связано с MoveTowards.Есть ли другой способ заставить астероид отслеживать местоположение игрока, когда он появляется, а затем перемещаться к этой точке и за ней?Пытался искать и не мог найти конкретный ответ на мой вопрос

Вот то, что у меня есть на данный момент, и которое применимо к этому вопросу.Если мне нужно будет предоставить больше кода, пожалуйста, дайте мне знать, и я сделаю это.

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

public class Asteroids : MonoBehaviour
{
    public Vector3 playerPosition;
    public Vector2 direction;
    public int asteroidSpeed;

    // Start is called before the first frame update
    void Start()
    {
        playerPosition = GameManager.gm.player.transform.position;
    }

    // Update is called once per frame
    void Update()
    {
        transform.position = Vector3.MoveTowards(transform.position, playerPosition, asteroidSpeed * Time.deltaTime);
    }

1 Ответ

0 голосов
/ 07 февраля 2019

Вы хотите, чтобы ваш вектор базировался на линии, описываемой начальной точкой и точкой появления.Затем вы хотите двигаться по этому вектору, но НЕ двигаться к точке появления.

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