-
Title:
PS 04-09 Representar el output de TexturePacker
-
Description:
-
Para tu próxima tarea,
tienes que utilizar el archivo de datos
-
que has analizado para representar
las imágenes de la pantalla.
-
Debes completar las dos funciones
para dibujar bien imágenes en la pantalla.
-
Antes de empezar, una aclaración.
-
Hasta ahora, los diseñadores generaban
assets que remitían a archivos sueltos.
-
Y los diseñadores crean
una textura, la ponen aquí
-
y luego remiten un objeto a esa textura.
Por supuesto, hay un proceso posterior.
-
Hemos metido todo eso en una pequeña caja
y nos falta una correlación.
-
El archivo del diseñador seguirá
remitiendo al asset suelto.
-
Pero está en la textura general.
¿Cómo los conectamos?
-
La función drawSprite puede solucionarlo.
-
Requiere un spritename, que representa
el nombre de archivo del asset suelto
-
y la posición X e Y del canvas
en el que queremos representarlo.
-
Tenemos que definir en qué atlas
de los cargados estará el spritename.
-
Vamos a ayudarte a hacerlo.
-
Arriba del documento, definimos un objeto,
un diccionario general que representa
-
todas las hojas de sprites que se han cargado.
-
En la función de cargar hoja de sprites,
añadimos esta hoja en el array global
-
y ponemos el nombre de la hoja como
clave para el elemento del diccionario.
-
Así, cuando se te da el spritename
dentro de la función de dibujo,
-
puedes explorar las hojas de sprites
y determinar si dicho spritename
-
existe en los sprites definidos para cada hoja.
-
Debería ser sencillo,
porque ya hemos abordado
-
la función de definir sprites
y ya tienes una lista con un nombre.
-
Cuando la función drawSprite encuentre
el atlas de este sprite,
-
podrá pasar a drawSpriteInternal datos
-
del sprite, de qué atlas proviene y la
posición X e Y que nos dio drawSprite.
-
drawSpriteInternal debería ubicar
el elemento y dibujarlo en el mundo
-
aprovechando el drawimage API
que recién abordamos
-
con toda la parafernalia
de nuevos parámetros.