<div class="gmail_quote">2010/2/16 Pablo Flores <span dir="ltr">&lt;<a href="mailto:pflores2@gmail.com">pflores2@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Si no me equivoco, Conozco Uruguay hace exactamente lo que decís de mostrar una animación al principio, podés vichar el código para ver cómo lo hizo Gabriel...</blockquote></div><br>Si Conozco Uruguay hace lo mismo, lo que hace es mantener un bucle de captura de evento por cada etapa de la presentación; luego pasa a otro bucle que es el menú y luego a otro bucle que es el del juego en si.<br>
<br>Estos bucles pueden estar anidados, como el bucle &quot;while self.estado == &quot;En Juego&quot;:&quot; o pueden estar uno a continuación del otro, cuando ya no tenés intenciones de volver para atrás.<br><br>--------------<br>
El problema que estás teniendo al salir 3 veces del juego es claramente un tema de memoria, yo no lo pude reproducir en mi laptop, pero si vi como la memoria iba creciendo cada vez que salia y volvía a entrar a la opción jugar.<br>
<br>Me parece que el problema está en la línea:<br><br>def detectordeteclas(self):<br>    ....<br>        self.run_menu_principal()<br><br>No deberías tener que &quot;llamar nuevamente&quot; al menú, sino que, al cambiar de estado, deberías dejar que el juego &quot;vuelva&quot; al menú.<br>
<br>--------------<br>Respecto a la performance, supongo que el problema es que estás redibujando el tablero en cada frame, capaz que podés ver de redibujarlo solo cuando hay cambios.<br>También deberías cambiar clock.tick_busy_loop(15) por clock.tick(15), esta última no es tan exacta, pero permite que el procesador descance; además en tu juego la exactitud entre los frames no es imprescindible.<br>
--------------<br><br>Para poder correr el juego tuve que cambiar las rutas de las imágenes para que sean relativas, deberían quedar de esta forma:<br>        self.directoriodeimagenes = &quot;Imagenes/&quot;<br>        self.directoriodefondos = &quot;Fondos/&quot;<br>
        self.directoriodezonas = &quot;zonas/&quot;<br>        self.directoriodesonidos = &quot;Sonidos/&quot;<br><br>Espero que estos comentarios te sean de ayuda.<br>Saludos,<br>Pablo<br><br>