Unity не имеет такого рода «прямого режима» рендеринга, вы не будете вызывать Draw
какие-либо циклы обновления для Unity.
В Unity вам нужно создать игровой объект, а затем прикрепить сценарии к этому игровому объекту. Эти сценарии будут контролировать поведение объекта, если и как он будет отображаться на экране, является ли он частью физической системы и т. Д.
Чтобы создать новый спрайт для рисования на экране, вам нужно создать новый игровой объект, затем присоединить к нему скрипт SpriteRenderer и установить его спрайт.
GameObject go = new GameObject();
SpriteRenderer renderer = go.AddComponent<SpriteRenderer>();
renderer.sprite = Resources.Load("Sprites/Player", typeof(Sprite)) as Sprite;
Это предполагает структуру каталогов
-Assets
--Resources
---Sprites
----<Your 2D assets, set with their texture type to Sprite (2D and UI)>
Например:
Тогда у вас был другой скрипт для изменения положения, поворота и т. Д., В зависимости от того, как вы хотите, чтобы он вел себя.
Самый простой способ выполнить все это без необходимости писать столько кода? Сначала создайте игровой объект в редакторе Unity. Как только игровой объект снабжен нужным спрайтом, скриптами поведения и всем этим. Перетащите его в каталог ресурсов. Это создает сборный. Сборные дома - это то, на что они похожи, сборные конструкции. Это законченные объекты, которые вы можете ссылаться и создавать на лету.
Вы бы создали такие как:
public void CreateObject(string prefabName) {
GameObject newObject =
GameObject.Instantiate(Resources.Load(prefabName)) as GameObject;
}
Это приведет к клону префаба, который вы создали ранее. Так, если, например, вы дали своему префабу поведение движения к игроку и атаки, каждый раз, когда вы создаете новый префаб такого типа, они начнут двигаться к игроку и атаковать. Сценарии, которые вы должны были написать только один раз, управляют всеми этими игровыми объектами.
Я думаю, что главное отличие, которое вы видите здесь, заключается в интенсивном использовании компонентов. Что вы, вероятно, не видели в других игровых движках, таких как XNA. Unity действительно мощный двигатель, но ваше разочарование возникает из-за того, что вы пытаетесь использовать его как другие двигатели, когда он не похож на другие. Проверьте мой профиль для некоторых тренировок, я добавил ссылку для бесплатной пробной версии, чтобы вам не пришлось платить.