Имя «Instantiate» не существует в текущем контексте - PullRequest
0 голосов
/ 26 июня 2018

Я изучаю Unity C #, я делал урок от Unity, 2d roguelike, мы пытаемся создать экземпляр плитки для пола, я сделал то же самое, что и в видео (на самом деле я даже скопировал код), но он показывает мне ошибка на линии

GameObject instance = Instantiate(toInstantiate, new Vector3(x, y, 0f), 
    Quaternion.identity) as GameObject; 

специально с Instantiate(toInstantiate).

Вы можете мне помочь?

using UnityEngine;
using System;
using System.Collections.Generic;
using Random = UnityEngine.Random;

public class BoardManager : MonoBehaviour 
{
    // Other class code omitted

    void BoardSetup()
    {
        boardHolder = new GameObject("Board").transform;

        for (int x = -1; x < columns + 1; x++)
        {
            for (int y = -1; y < rows + 1; y++)
            {
                GameObject toInstantiate = floorTiles[Random.Range(0, floorTiles.Length)];

                if (x == -1 || x == columns || y == -1 || y == rows)
                    toInstantiate = outerWallTiles[Random.Range(0, outerWallTiles.Length)];

                GameObject instance = Instantiate(toInstantiate, new Vector3(x, y, 0f), 
                    Quaternion.identity) as GameObject;

                instance.transform.SetParent(boardHolder);
            }
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Instantiate (обычно) является ссылкой на Object.Instantiate, поэтому класс, в котором вы кодируете, должен быть получен из Object класса единицы; чаще всего это делается путем наследования от MonoBehaviour, который, в свою очередь, наследуется от Object. Помните, что любой метод, на который вы ссылаетесь только по имени, должен существовать в одном классе или наследовании.

0 голосов
/ 26 июня 2018

Проверьте, правильно ли вы используете include ("using директиву"), и дополнительно, как сказал @Haytam, проверьте, выглядит ли ваш класс следующим образом (обратите внимание, MonoBehaviour):

using UnityEngine;
using System.Collections;

public class YourTutorialClass : MonoBehaviour {

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

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