Unity no tiene este tipo de renderizado de "modo directo", no invocará Draw
ningún ciclo de actualización para Unity.
En Unity necesitas crear un objeto de juego, luego adjuntar scripts a ese objeto de juego. Esas secuencias de comandos controlarán cómo se comporta el objeto, si y cómo se muestra en la pantalla, si es parte del sistema de física, etc.
Para crear un nuevo sprite para dibujar en la pantalla, deberás crear un nuevo objeto de juego, luego adjuntarle el script SpriteRenderer y configurar su sprite.
GameObject go = new GameObject();
SpriteRenderer renderer = go.AddComponent<SpriteRenderer>();
renderer.sprite = Resources.Load("Sprites/Player", typeof(Sprite)) as Sprite;
Esto supone una estructura de directorio de
-Assets
--Resources
---Sprites
----<Your 2D assets, set with their texture type to Sprite (2D and UI)>
Por ejemplo:
Luego, tenía un script diferente para cambiar la posición, la rotación, etc., dependiendo de cómo desea que se comporte.
¿La forma más fácil de lograr todo esto sin tener que escribir tanto código? Cree primero el objeto del juego en el editor de Unity. Una vez que el objeto del juego está equipado con el sprite que deseas y los scripts de comportamiento y todo eso. Arrástrelo y suéltelo en un directorio de recursos. Esto crea un prefabricado. Los prefabricados son exactamente lo que parecen, prefabricaciones. Son objetos completos a los que luego puedes hacer referencia y crear sobre la marcha.
Crearías aquellos como:
public void CreateObject(string prefabName) {
GameObject newObject =
GameObject.Instantiate(Resources.Load(prefabName)) as GameObject;
}
Esto generará un clon del prefabricado que creaste antes. Entonces, si, por ejemplo, le has dado a tu prefabricado el comportamiento de moverse hacia el jugador y atacar, cada vez que generas un nuevo prefabricado de ese tipo, comenzarán a moverse hacia el jugador y atacar. Los guiones que solo tenía que escribir una vez controlan todos esos objetos del juego.
Creo que la principal diferencia que está viendo aquí es el uso intensivo de componentes. Lo que probablemente no has visto en otros motores de juegos como XNA. La unidad realmente es un motor potente, pero su frustración proviene de intentar usarlo como otros motores, cuando no es como otros motores. Consulte mi perfil para obtener capacitación, agregué un enlace para una prueba gratuita para que no tenga que pagar.