Загрузка...

The variable is reset when the game starts. Unity

Thread in C# created by qweytur Jan 9, 2024. 165 views

  1. qweytur
    qweytur Topic starter Jan 9, 2024 2 Dec 18, 2022
    [IMG]
    Там где Monster и Player после запуска игры в редакторе эти переменные збрасываються и там пишет None.
    Code
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.AI;
    using UnityEngine.SceneManagement;

    public class pigeon_ai : MonoBehaviour
    {
    public NavMeshAgent Monster;
    public GameObject Player;
    // Start is called before the first frame update
    void Start()
    {
    Monster = gameObject.GetComponent<NavMeshAgent>();
    Player = GameObject.FindGameObjectWithTag("GameController");
    }

    // Update is called once per frame
    void Update()
    {
    Monster.SetDestination(Player.transform.position);
    float Dist_Player = Vector3.Distance(Player.transform.position, gameObject.transform.position);
    if (Dist_Player < 1f)
    {
    ReloadLevel();
    }
    }

    void ReloadLevel()
    {
    int currentSceneIndex = SceneManager.GetActiveScene().buildIndex;
    SceneManager.LoadScene(currentSceneIndex);
    }
    }
    [IMG]

    Вот что в иерархии.

    [IMG]
    Ошибка которая появляется при запуске.
     
  2. zennixxx
    zennixxx Jan 27, 2024 0 Jul 9, 2021
    сделай проверку на нул Плеера
    Code
            if (Player != null)
    {
    Monster.SetDestination(Player.transform.position);
    float Dist_Player = Vector3.Distance(Player.transform.position, gameObject.transform.position);
    if (Dist_Player < 1f)
    {
    ReloadLevel();
    }
    }
     
Loading...
Top