, 그것은 보인다. 제 2 부는 당신의 필요에 가장 일반적입니다.
가장 쉬운 방법은 말한 캔버스의 하나의 인스턴스를 이미 장면에 넣는 것입니다. 당신의
void Start()
{
thisCanvas = GetComponent<Canvas>();
thisCanvas.enabled = true;
}
... 검사관의 작은 체크 박스를 unticking에 의해 "장애인"드로어 블/볼 캔버스 부분이 있고, 다음은 게임 오브젝트에 스크립트의 기능 자체를 활성화 할 수 물론, 또 다른 방법은 장면에 이미있는 다른 스크립트에서 하나의 복사본을 인스턴스화하는 것입니다. - 전형적인 경우 : 장면에서 빈 게임 객체 만들기 (Ctrl + Shift + N), [F2] 이름을 "GameManager" GameObject 이름에 공백이있을 경우 버그가 생겨서 GameManager라는 새 스크립트를 첨부하십시오.
using UnityEngine;
using System.Collections;
public class GameManager : MonoBehaviour
{
public GameObject myObject;
void Start()
{
Instantiate(myObject, transform.position, transform.rotation);
}
}
지금 드래그 : 이 스크립트는 반드시 올바른 장면 부하를 만들고, 특정 팹의 인스턴스를, 네트워크 연결을, 에디터 등 등 그래서에서 수행하지 않은 설정 플레이어 변수에 기본적으로 그냥 여기에있다 + 인스펙터에서 "GameManager"의 슬롯에 인스턴스화하려는 "프리 패브"를 드롭하십시오. 게임이 시작될 때 반드시 있어야 할 필요는 없다는 것을 기억하십시오. 또 다른 예는 로그인이 필요할 때마다 듣는 기능을 가진 GameManager 스크립트입니다. 그리고 그 시간에 로그인 대화 상자를 인스턴스화합니다.
'Instantiate()'또는 구어체'설정 값 및 준비 완료 '를 의미합니까? 나는 여기에 쓰여진 내용이 약간 혼란 스럽기 때문에 ... 이미 존재하는 것을 만들려고 노력하고 있기 때문에 묻습니다. = s ps [unity3d] 태그는 여기에 없습니다 [unity] :) – Lefty
안녕하세요, 네, 인스턴스화를 의미합니다. 프리 팹은 이미 존재하지만 씬 자체에는 존재하지 않습니다. Canvas 자체에있는 DialogueController 스크립트를 사용하여 캔버스를 장면으로 가져 오려고합니다. – Archetype90