Динамическое добавление gameobject в сцену в Unity3d
Я создаю сцену, в которой я хочу показать список предложений. Чтобы показать предложение, я создал префаб с заполнителями для деталей предложения, которые я получу во время выполнения. Я создал держатель места в сцене, чтобы добавить сборку к сцене, но он не отображается в пользовательском интерфейсе. OfferHolderClass:
using UnityEngine;
using System.Collections;
public class OfferHolder : MonoBehaviour {
public GameObject localOffer;
// Use this for initialization
void Start () {
GameObject offer = Instantiate(localOffer) as GameObject;
offer.GetComponent<Offer>().Text = "Testing";
offer.transform.parent = this.transform;
}
// Update is called once per frame
void Update () {
}
}
Я новичок в Unity и не уверен,что мне здесь не хватает.
2 ответов
//Drag object prefab to variable in inspector
public GameObject spawnObject;
//----------------------------------------
ниже будет создан GameObject с помощью объектов собственные параметры преобразования.
GameObject clone;
clone = Instantiate(spawnObject.transform,
spawnObject.transform.position,
spawnObject.transform.rotation) as GameObject;
ниже будет создан GameObject с помощью объектов родителям параметры преобразования.
GameObject clone;
clone = Instantiate(spawnObject.transform,
transform.position,
transform.rotation) as GameObject;
не уверен, что это поможет, но удачи в вашей игре:)
в Unity вы можете сделать это так.
GameObject.Instantiate(prefab,new Vector3(1,1,0),Quaternion.identity);
см. также : http://docs.unity3d.com/Documentation/ScriptReference/Object.Instantiate.html
специально для позиция, он должен перед вашей камерой, или вы не можете увидеть его.
более того, я предлагаю вам взглянуть на NGUI. Это мощная система GUI с некоторым полезным API для разработки. Кстати, я не могу себе представить, как трудно разрабатывать игры без такой вещи, поэтому вы может понадобиться рано или поздно ;\
С ним вы можете сделать это легко.
Gameobject go = NGUITools.AddChild(Gameobject Parent, Gameobject Prefab)
обновление:
когда я ответил на это, НГУИ-это только полезная система gui, поэтому я рекомендовал ее. Тем не менее, есть официальная система Unity UI(она же uGUI), вам действительно не нужно использовать NGUI, оставьте в покое войну gui все еще продолжается.
что больше, вы можете принять взятое в систему бассеина. Он используется для обработки массивных у GameObject как пули, кубики и т. д. Если у вас есть сотни конкретных gameobject в той же сцене и страдает от экземпляра, то вам, вероятно, нужен пул. Лично я пробовал FastPool, и он работает хорошо, на самом деле все активы в своем роде работают точно так же.