Member 14928156 Ответов: 1

Преобразования.перевести(метода Vector3 пространство) - это метод, который не является допустимым в данном контексте.


using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics;
using System.Threading;
using UnityEngine;
using Debug = UnityEngine.Debug;

public class Laser : MonoBehaviour
{
    [SerializeField]
    private float __speed = 8f;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        transform.Translate(Vector3.up*__speed * Time.deltaTime);
        Vector3 p = transform.position;
        if (transform.Translate.position>8f)
        {
            Destroy(this.gameObject);
        }
    }
}


Что я уже пробовал:

Я попытался найти эту проблему, но не могу найти никакого релавентного решения для этого.
я понял, что не могу использовать трансформацию.Перевести.позиции в случае, если заявление.так я пытался назначить метода Vector3 с другими метода Vector3, то ошибка отображается как в '>' оператор не может быть использован между метода Vector3 по. Пожалуйста, помогите мне с этим.

0x01AA

transform.Translate.position иметь тип Vector3. Вы не можете сравнивать а Vector3 с собой Float значение, например, 8f.

Вы можете сравнить одну из составляющих вектора или абсолютное значение вектора с 8f. Но это зависит от того, что вам нравится здесь делать.

1 Ответов

Рейтинг:
1

F-ES Sitecore

Это зависит от того, что вы хотите сделать. Если вы хотите проверить высоту объектов то вам нужно проверить значение оси y

if (transform.position.y > 8f)
{
    Destroy(this.gameObject);
}


Другая вещь, которую вы, возможно, захотите проверить, - это величина, но это маловероятно, это в основном длина вектора независимо от направления.

if (transform.position.magnitude > 8f)
{
    Destroy(this.gameObject);
}