Передача данных через скрипты - PullRequest
0 голосов
/ 06 мая 2019

Я хочу использовать функцию "example_func" в SendScript, но возникает эта проблема:

NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта SendScript.Menu_Action_GoToArtists (System.String sceneName)(в разделе Активы / Сцены / SendScript.cs: 23)

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

public class SendScript : MonoBehaviour 
{
    private ReceiveScript receiveScript;

    public void Start () 
    {
        receiveScript = FindObjectOfType<ReceiveScript>();
    }

    public void Menu_Action_GoToArtists(string sceneName)
    {
        receiveScript.example_func();
    }
}    

и

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

public class ReceiveScript : MonoBehaviour 
{
    public void example_func()
    {
        print("It works");
    }
}

1 Ответ

0 голосов
/ 06 мая 2019

Некоторые вещи могут быть неправильными и вызывать эту проблему:

1) ваш компонент ReceiveScript не настроен ни на один объект в мире (наиболее вероятный сценарий)

2) Стартовый вызов не находит ReceiveScript (см. 1). Вы можете легко проверить это, выполнив в Start:

public void Start () 
{
    if(receiveScript = FindObjectOfType<ReceiveScript>())
    {
        Debug.Log("Found Script!");
        return;
    }
    Debug.Log("Didn't find script!");
}

Попробуйте и посмотрите, что там написано.

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