Можно ли создавать себя, указывая на себя?
| |
alexsilent | Дата: Воскресенье, 07 Сентября 2014, 08:56 | Сообщение # 1 |
почти ветеран
Сейчас нет на сайте
| Если я сделаю такой скрипт, будет ли перегрузка или ещё какие-то траблы типа утечки? просто лень создавать ещё одну дополнительную переменную, чтобы одна указывала префаб, а другая была создающим объектом
Код var HUDIncomeObject : Transform;
function Start() { HUDIncomeObject = Instantiate(HUDIncomeObject, transform.position + Vector3(0,0,-.1) ,Quaternion.identity) as GameObject; }
|
|
| |
MANMANA | Дата: Воскресенье, 07 Сентября 2014, 12:17 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| хммм, а с чего должны быть какие-то траблы? при HUDIncomeObject public можно посмотреть, что у тебя произошло после ПРИСВОЕНИЯ данному полю инстанса. если в Update это сделать, то будет интересней.
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
beril | Дата: Воскресенье, 07 Сентября 2014, 12:18 | Сообщение # 3 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Такое наверно даже работать не будет. HUDIncomeObject переменная типа Transform. Ты же пыташся ее к GO. Я не силен в Js, но там разве есть оператор as ? Там другой синтаксис. Хотя я могу конечно ошибаться
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
MANMANA | Дата: Воскресенье, 07 Сентября 2014, 12:41 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| про типы я протупил с просторов интернета: Код var clone : GameObject = PrefabUtility.InstantiatePrefab(prefab) as GameObject;
так что,если HUDIncomeObject будет GO...
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
Artaniel | Дата: Воскресенье, 07 Сентября 2014, 14:16 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Если ты пытаешься создать объект со скриптом, который сразу после создания попробует создать следующий, скорее всего будут проблемы. Вангую зависание намертво, фрейм не закончится пока не будут созданы все бесконечность объектов.
|
|
| |
MANMANA | Дата: Понедельник, 08 Сентября 2014, 19:09 | Сообщение # 6 |
почти ветеран
Сейчас нет на сайте
| Цитата Artaniel ( ) Вангую зависание намертво Фиговый из тебя е-Вангеист
JS Код public var HUDIncomeObject: Transform; var move: boolean =false;
function Start () { HUDIncomeObject = Instantiate(HUDIncomeObject, transform.position + Vector3(0,0,5f) ,Quaternion.identity) as Transform; }
function Update () { if (Input.GetKeyDown ("space")) { if (move == false) { move = true; } else move = false; } if (move) transform.Translate(Vector3.forward * Time.deltaTime);
}
C# Код using UnityEngine; using System.Collections;
public class GuGu : MonoBehaviour { public Transform HUDIncomeObject; bool move=false; // Use this for initialization void Start () { HUDIncomeObject = Instantiate(HUDIncomeObject, transform.position + new Vector3(0,0,+5f) ,Quaternion.identity) as Transform; } // Update is called once per frame void Update () { if (Input.GetKeyDown ("space")) { if (move == false) { move = true; } else move = false; } if (move) transform.Translate(Vector3.forward * Time.deltaTime);
} }
Ничего не виснет. Теперь получается, что переменная теперь просто ссылается на другой объект (на клон). Если поместить в транфоррм, то на уже начинаются тормоза
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
Сообщение отредактировал MANMANA - Понедельник, 08 Сентября 2014, 19:15 |
|
| |
|