03-22-2020, 06:14 PM
Hola Hokuto!
Gracias por tu interés. Aparte de tener que estar encerrados en casa y no saber qué va a pasar, afortunadamente ningún familiar cercano ni yo estamos contagiados -que sepamos-. Tu bien? Estás en Argentina?
Te comento el problema de tu ejemplo: en tu código referencias de forma constante a motor.sprites[0] y motor.animations[0], con lo que aunque crees 3 instancias, todas ellas utilizan el mismo sprite y la misma animación. Cada instancia debe usar un índice diferente, que puedes obtener cómodamente con motor.get_available_sprite() y motor.get_available_animation()
Luego en el resto de la clase debes utilizar los self.sprite y self.animation obtenidos previamente.
Otro punto que puedes optimizar, es la carga de recursos: cada vez que creas la clase, cargas una copia nueva de "hero" y "hero.sqx". Sería mejor cargarlos una sola vez en algún init() global, y luego simplemente referenciarlos.
Espero haber aclarado tus dudas!
Gracias por tu interés. Aparte de tener que estar encerrados en casa y no saber qué va a pasar, afortunadamente ningún familiar cercano ni yo estamos contagiados -que sepamos-. Tu bien? Estás en Argentina?
Te comento el problema de tu ejemplo: en tu código referencias de forma constante a motor.sprites[0] y motor.animations[0], con lo que aunque crees 3 instancias, todas ellas utilizan el mismo sprite y la misma animación. Cada instancia debe usar un índice diferente, que puedes obtener cómodamente con motor.get_available_sprite() y motor.get_available_animation()
Code:
class jugador(object):
def __init__(self,x,y):
self.x = x
self.y = y
self.sprite = motor.get_available_sprite()
self.animation = motor.get_available_animation()
...
Luego en el resto de la clase debes utilizar los self.sprite y self.animation obtenidos previamente.
Otro punto que puedes optimizar, es la carga de recursos: cada vez que creas la clase, cargas una copia nueva de "hero" y "hero.sqx". Sería mejor cargarlos una sola vez en algún init() global, y luego simplemente referenciarlos.
Espero haber aclarado tus dudas!