Estaba haciendo un juego simple en pygame y me di cuenta de que necesito un montón de marcadores, recuentos y todo tipo de personal global. Así que decidí definir una clase y utilizar de esta manera:Debo usar la clase como contenedor para la variable global
class Staff():
def __init__(self):
self.modes={'menu':True,'spawning':False,'sprite_change':False}
self.timer=pygame.time.Clock()
self.tick_count=0
y en mi bucle de juego Acabo de dar una variable a todas mis funciones:
def main_loop():
staff=Staff()
while not done:
update_positions(staff)
clear_background(staff)
draw_sprites(staff)
Sé que este método funciona y bastante conveniente (para mí), pero me pregunto cómo va a afectar esto la velocidad de mi juego, ¿puedo estar haciendo algo horrible? Muchas gracias por responder.
Gracias por las palabras de sabiduría, intentaré deshacerme de ellas. – HamsteR
Si intenta optimizar su código (por ejemplo, tiempo o espacio de memoria), siempre debe hacer una cosa: Mediciones. Si no hay una gran mejora, ¡utilice la versión que sea más comprensible! – Thikron