[Olpc-uruguay] Sobre Pygame
Flavio Danesse
fdanesse en gmail.com
Lun Ene 18 14:14:11 EST 2010
Hola Pablo y demás muchachada.
Estaba viendo eso mismo, de dibujar partes de la pantalla y demás, pero hay
bastante para ver todavía.
Hay cosas que todavía no entiendo bien, por ejemplo, supongamos que tengo un
mapa grande, muy grande y en la pantalla solo quiero ver una parte, pero
cuando mueva el mouse hacia los lados poder recorrer el mapa y ver las zonas
que están fuera de la pantalla.
Es como si me moviera sobre el mapa, todavia no lo he hecho, pero imagino
que tendría que cargar la imagen y hacer una máscara del tamaño de la
pantalla y mover la máscara sobre el mapa para poder desplazarme (no se si
se entendió).
Estuve viendo como hacer menús y eso ya lo tengo claro.
Con lo que no me encuentro es con el bucle del juego, porque si cargo un
menu tengo que capturar eventos del mouse y teclado sobre los objetos del
menú, pero cuando elijo "jugar", preferiría cambiar de bucle pero no se como
hacerlo, es complicado tener todo en un solo bbucle porque tengo que pensar
que objetos hay en pantalla en todo momento y asignar los eventos de mouse y
teclado según eso.
Quisiera tener el menú con su "captura de eventos" y al elegir "jugar"
llamar eal juego con su bucle principal, es lo mismo que cuando cambias de
nivel, no encuentro como parar ese bucle sin que se termine el juego.
PD:
Estoy seguro que debe ser una bobada esto del bucle.
Por lo que yo veo, pygame es excelente para emulaciones tipo "el ciclo del
agua", "la clorofila", emulación de gravedad y cosas de físicas, esas cosas,
que no requieren una interacción permanente como sería un juego tipo
galaxian.
Me imagino buenas cosas con mapas, dibujo, geometría y edición de imágenes
etc.
No lo miro tanto como herramienta para juegos a no ser juegos de tablero,
porque el rendimiento no es bueno, me hubiera gustado hacer algo con blender
y pygame pero en la xo no tenemos py3d y seguramente si lo tuviera el
rendimiento sería mucho peor.
De todas maneras pygame está muy bueno para hacer actividades de clase en la
xo, probablemente sea la mejor herramienta para nosotros en este sentido.
Estuve mirando el tema de la integración con gtk y es muy mala, no es buena
idea porque se complica la captura de eventos en pygame y gtk al mismo
tiempo lo cual es una lástima porque si se pudiera hacer bien se ganaría
mucho tiempo y diseño.
En cuanto a la integración de pygame con sugar, no lo he logrado porque hay
que bajarse un paquete de olpc y hacer unos malabares barbaros con el, pero
me imagino que si no se integra bien a gtk tampoco lo hará a sugar.
El 18 de enero de 2010 13:31, Pablo Moleri <pmoleri en gmail.com> escribió:
> Hola,
>
> Si tenés problemas de performance lo primero que tenés que hacer es tratar
> de utilizar un grupo de sprites optimizado y no dibujar todo el fondo en
> cada frame.
>
> Fijate en la referencia de PyGame:
> http://www.pygame.org/docs/ref/sprite.html#pygame.sprite.RenderUpdates
> Ahí tenés herramientas que te facilitan el actualizar sólo las áreas de la
> pantalla donde hubieron cambios.
>
> Saludos,
> Pablo
>
> 2010/1/16 Flavio Danesse <fdanesse en gmail.com>
>
>> *Hola gente.*
>>
>> He estado jugando con pygame y la verdad es que está bueno y muy muy
>> facil, se presta muchisimo para hacer actividades interactivas en la xo, en
>> particular me quedé pensando en la idea que alguien en la lista tenía para
>> hacer una actividad sobre astronomía.
>>
>> Está buenísimo para hacer cosa sobre física, quimica, etc. . . Se pueden
>> hacer buenas emulaciones con pygame.
>>
>> En cuanto a los juegos, que se supone que es para eso el paquete, al menos
>> lo que yo he hecho, anda bastante lento, le cuesta mucho a la xo correr
>> estas cosas.
>>
>> Les paso en adjunto en archivo zipeado el jueguito que empecé a hacer para
>> aprender (no se si conviene seguirlo o hacer otra cosa mas provechosa, la
>> idea era solo aprender pygame).
>> Son 3 archivos de código, donde tendrán que modificar las referencias a
>> las imágenes para que les funcione en sus PC (son solo 3 imagenes)
>>
>> deben ejecutar el archivo BatallaEspacial.py
>>
>> *Hice simplemente:*
>>
>> 1. una pantalla con una imagen de fondo.
>> 2. una nave nodriza
>> 3. nueve naves tipo caza
>>
>>
>> La nave principal se mueve con el mouse, las naves cazas se mantienen en
>> formación a una distancia determinada de la nave principal.
>> Al presionar la tecla 1 las naves se forman de una manera y al presionar 2
>> se forma de otra manera diferente.
>> Al presionar la tecla a las naves se separan entre si, al presionar la
>> tecla z las naves se acercan entre si.
>>
>>
>> Si les dá la voluntad de probarlo y mirarlo, agradecería consejos para
>> mejorar y hacer más eficiente el código y perdonen si molesto por mandar
>> esto a la lista.
>>
>> _______________________________________________
>> Olpc-uruguay mailing list
>> Olpc-uruguay en lists.laptop.org
>> http://lists.laptop.org/listinfo/olpc-uruguay
>>
>>
>
> _______________________________________________
> 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/20100118/0ff32c71/attachment.htm
More information about the Olpc-uruguay
mailing list