Stavo facendo un semplice gioco in pygame e mi sono reso conto che avevo bisogno di un sacco di marcatori, conteggi e ogni sorta di staff globale. Così ho deciso di definire una classe e usarlo in questo modo:Devo usare la classe come contenitore per la variabile globale
class Staff():
def __init__(self):
self.modes={'menu':True,'spawning':False,'sprite_change':False}
self.timer=pygame.time.Clock()
self.tick_count=0
e nel mio ciclo di gioco ho solo dare una variabile a tutte le mie funzioni:
def main_loop():
staff=Staff()
while not done:
update_positions(staff)
clear_background(staff)
draw_sprites(staff)
So che questo metodo funziona e abbastanza conveniente (per me), ma mi chiedo come questo influenzerà la velocità del mio gioco, potrebbe essere che sto facendo qualcosa di orribile? Mille grazie per aver risposto.
Grazie per le parole di saggezza, cercherò di liberarmene. – HamsteR
Se stai cercando di ottimizzare il tuo codice (ad es. Tempo o spazio di memoria), c'è sempre una cosa da fare: le misure. Se non ci sono miglioramenti enormi, usa la versione più comprensibile! – Thikron