Pablo, estoy mirando tu código.<br>Ahora entiendo como utilizar RenderUpdates, pero buscando en la API de pygame el método clear que utilizas, no lo encuentro, ¿a que clase pertenece?<br><br><span style="color: rgb(153, 0, 0);">self.protagonista.clear(self.ventana, self.fondo)</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">self.disparos.clear(self.ventana, self.fondo)</span><br><br>Y otra cosa:<br>Cmuando haces:<br><span style="color: rgb(153, 0, 0);">cambios = self.protagonista.draw(self.ventana)</span><br>
lo que obtienes es la lista de rectangulos que se modificaron, entonces luego haces:<br><span style="color: rgb(153, 0, 0);">cambios.extend( self.disparos.draw(self.ventana) )</span><br>Esta línea no la entiendo, en particular extend no se que hace acá (es decir, entiendo lo que hace en este código, pero no entiendo el concepto de uso de extend).<br>
<br><br><br><br><div class="gmail_quote">El 28 de julio de 2010 10:44, Flavio Danesse <span dir="ltr"><<a href="mailto:fdanesse@gmail.com">fdanesse@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Gracias Pablo, me pongo a ver tu código a ver como me sale.<br><br>Te cuento que sobre los eventos probé muchas formas porque me di cuenta que en la xo esta parte es una de la que más incide en el rendimiento. Desde este punto de vista, lo mejor es simplemente esperar los eventos con <span style="color: rgb(153, 0, 0);">pygame.event.wait()</span> Esto está bien para un solo jugador, pero ya al tener objetos como las balas, hay que actualizar la pantalla aunque no existan eventos, así que primero probé hacer correr cada bala en un hilo separado pero falla siempre (no debiera).<br>
<br>Sobre utilizar <span style="color: rgb(153, 0, 0);">RenderUpdates</span> entiendo para que sirve, por eso lo utilicé pero no se como aprovecharme de su funcionalidad, al final hay que dibujar todo igual.<br><br>Lo otro, sobre como implementar la red, ¿alguna guia? Hice unas pruebitas utilizando modelo - vista - controlador pero el rendimiento es malísimo.<br>
<br><b>PD:</b><br>Voy a ver tu código a ver que saco en limpio, Gracias !!<br><br><br><br><div class="gmail_quote">El 28 de julio de 2010 00:42, Pablo Moleri <span dir="ltr"><<a href="mailto:pmoleri@gmail.com" target="_blank">pmoleri@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div></div><div class="h5"><div class="gmail_quote">Hola Falvio,<br><br>Te mando mis comentarios en cuanto a velocidad (punto 1).<br>
<br>2010/7/27 Flavio Danesse <span dir="ltr"><<a href="mailto:fdanesse@gmail.com" target="_blank">fdanesse@gmail.com</a>></span><div><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><b>Tengo un par de problemas:</b><br><ol><li>En mi notebook anda barbaro, pero en la xo, a pesar de ser muy liviano, anda lentísimo (injugable). <br>
</li></ol></blockquote></div><div>a. 40 FPS si bien es un poco alto, en este juego no tendría que ser problema, de todos modos podés probar bajarlo a 30.<br><br>b. Parece que estás atendiendo un solo evento por frame, eso puede ser un problema, tendrías que usar un for:<br>
<div style="margin-left: 40px;">for event in pygame.event.get():<br> # acá procesar los eventos<br><br></div>c. La idea de usar RenderUpdates es actualizar los menos posible la pantalla, o sea:<br>- volver a aplicar el background solo en aquellas zonas donde se dibujaron sprites en la iteración anterior.<br>
- dibjuar los sprites conservando la lista de zonas donde se dibujaron.<br>- actualizar en la pantalla solo aquellas zonas donde se limpiaron sprites y donde se dibujaron nuevos sprites.<br><br>Te mando un archivo donde hice estos cambios.<br>
Me parece que está bien encaminado.<br><br>Saludos,<br>Pablo<br><br> </div></div>
<br></div></div>_______________________________________________<br>
Olpc-uruguay mailing list<br>
<a href="mailto:Olpc-uruguay@lists.laptop.org" target="_blank">Olpc-uruguay@lists.laptop.org</a><br>
<a href="http://lists.laptop.org/listinfo/olpc-uruguay" target="_blank">http://lists.laptop.org/listinfo/olpc-uruguay</a><br>
<br></blockquote></div><br>
</blockquote></div><br>