11-08-2018, 04:16 AM
En Tilengine no se crean ni destruyen sprites. Cuando inicias el motor con Engine.create(), uno de los parámetros que le pasas es el nº de sprites que vas a tener. En ese momento se crea una lista inmutable, el nº de sprites permanece inalterable. Lo que hace la función Sprite.disable() es desactivarlo para que no muestre nada, pero luego se puede reactivar con otros valores.
La forma de trabajo es la siguiente: tu motor de juego, el que gestiona la lógica, sí que debería tener una lista dinámica de entidades (o actores) que se van creando y destruyendo según va avanzando el juego. Pero para representarlos en pantalla lo que haces es ir reutilizando los sprites que te da Tilengine, reasignándolos a nuevos actores según se van necesitando. Es decir, que si por ejemplo inicias el motor con 80 sprites por decir algo, tu límite serán 80 sprites a la vez en pantalla, pero esos 80 sprites se van a ir reciclando muchas veces a medida que los actores a los que están asignados se vayan creando y destuyendo. Así es como funcionan en realidad los sistemas de videojuegos clásicos en 2D.
No entiendo las dudas que dices de las clases y las variables, lo mejor es que adjuntes aquí lo que tienes hecho para ver qué problema hay.
La forma de trabajo es la siguiente: tu motor de juego, el que gestiona la lógica, sí que debería tener una lista dinámica de entidades (o actores) que se van creando y destruyendo según va avanzando el juego. Pero para representarlos en pantalla lo que haces es ir reutilizando los sprites que te da Tilengine, reasignándolos a nuevos actores según se van necesitando. Es decir, que si por ejemplo inicias el motor con 80 sprites por decir algo, tu límite serán 80 sprites a la vez en pantalla, pero esos 80 sprites se van a ir reciclando muchas veces a medida que los actores a los que están asignados se vayan creando y destuyendo. Así es como funcionan en realidad los sistemas de videojuegos clásicos en 2D.
No entiendo las dudas que dices de las clases y las variables, lo mejor es que adjuntes aquí lo que tienes hecho para ver qué problema hay.