[Olpc-uruguay] JAMtank (sólo para divertirse)

Flavio Danesse fdanesse en gmail.com
Mie Jul 28 10:17:36 EDT 2010


Pablo, estoy mirando tu código.
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?

self.protagonista.clear(self.ventana, self.fondo)
self.disparos.clear(self.ventana, self.fondo)

Y otra cosa:
Cmuando haces:
cambios = self.protagonista.draw(self.ventana)
lo que obtienes es la lista de rectangulos que se modificaron, entonces
luego haces:
cambios.extend( self.disparos.draw(self.ventana) )
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).




El 28 de julio de 2010 10:44, Flavio Danesse <fdanesse en gmail.com> escribió:

> Gracias Pablo, me pongo a ver tu código a ver como me sale.
>
> 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
> pygame.event.wait() 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).
>
> Sobre utilizar RenderUpdates entiendo para que sirve, por eso lo utilicé
> pero no se como aprovecharme de su funcionalidad, al final hay que dibujar
> todo igual.
>
> Lo otro, sobre como implementar la red, ¿alguna guia? Hice unas pruebitas
> utilizando modelo - vista - controlador pero el rendimiento es malísimo.
>
> *PD:*
> Voy a ver tu código a ver que saco en limpio, Gracias !!
>
>
>
> El 28 de julio de 2010 00:42, Pablo Moleri <pmoleri en gmail.com> escribió:
>
>> Hola Falvio,
>>
>> Te mando mis comentarios en cuanto a velocidad (punto 1).
>>
>> 2010/7/27 Flavio Danesse <fdanesse en gmail.com>
>>
>> *Tengo un par de problemas:*
>>>
>>>    1. En mi notebook anda barbaro, pero en la xo, a pesar de ser muy
>>>    liviano, anda lentísimo (injugable).
>>>
>>> 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.
>>
>> b. Parece que estás atendiendo un solo evento por frame, eso puede ser un
>> problema, tendrías que usar un for:
>> for event in pygame.event.get():
>>     # acá procesar los eventos
>>
>> c. La idea de usar RenderUpdates es actualizar los menos posible la
>> pantalla, o sea:
>> - volver a aplicar el background solo en aquellas zonas donde se dibujaron
>> sprites en la iteración anterior.
>> - dibjuar los sprites conservando la lista de zonas donde se dibujaron.
>> - actualizar en la pantalla solo aquellas zonas donde se limpiaron sprites
>> y donde se dibujaron nuevos sprites.
>>
>> Te mando un archivo donde hice estos cambios.
>> Me parece que está bien encaminado.
>>
>> Saludos,
>> Pablo
>>
>>
>>
>> _______________________________________________
>> Olpc-uruguay mailing list
>> Olpc-uruguay en lists.laptop.org
>> http://lists.laptop.org/listinfo/olpc-uruguay
>>
>>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://lists.laptop.org/pipermail/olpc-uruguay/attachments/20100728/af89dc9d/attachment-0001.htm 


More information about the Olpc-uruguay mailing list