[Olpc-uruguay] [Sur] Problema con SugarGame

Manuel Quiñones manuq en laptop.org
Jue Mayo 24 16:39:49 EDT 2012


Hola!

Acá estoy, ahora soy co-maintainer de sugargame así que podemos ver
todos estos temas y solucionarlos.Vayamos por partes, primero, el
problema de que no captura los eventos de teclado.

Para probarlo extendí la actividad de ejemplo que trae sugargame, la
pelota que rebota, para que se pueda mover la pelota con las flechitas
izquierda y derecha.  Antes hice estos cambios en dicha actividad de
prueba:

 - actualicé el archivo activity.info para que corra en nuevas
versiones de Sugar
 - le puse las nuevas toolbars
 - limpié el código, ahora cumple con PEP8

Pueden probar la actividad y comprobar que las teclas funcionan, y
también se puede editar el título de la actividad (y la descripción en
sugar 0.96) y luego volver el foco al juego haciendo clic en el
canvas.  No hubo necesidad de hacer ningún cambio en sugargame.

Lo que puede ser que les ocurra es que no están llamando a
grab_focus() en el canvas.  Estuve comparando el códgo de olpcgames y
el de sugargame, y vi que olpcgames lo llamaba, pero ahora el canvas
está del lado del usuario, y es responsabilidad del usuario hacerlo.
Fíjense en el commit que agrego eventos de teclado, que lo único que
cambia en TestActivity.py es el agregado del grab_focus()

http://git.sugarlabs.org/sugargame/mainline/commit/8254afb5ed18706ffb90210747c6beac4d9cf98e?diffmode=inline

La solución de pasar los callbacks a la main window sinceramente me
parece una chanchada :)  Y tener que agregar excepsiones para el
título de la actividad, no es una solución aceptable.  Tu juego puede
tener otros gtk entries, en el nuevo sugar por ejemplo, tenemos la
descripción:

http://wiki.sugarlabs.org/go/0.96/Notes#Write_to_Journal_anytime

¿Qué les parece?

El día 22 de mayo de 2012 20:55, Alan Jhonn Aguiar Schwyn
<alanjas en hotmail.com> escribió:
>> Lo de videoexpose es algo que yo también había arreglado en mi versión,
>> pero de forma levemente distinta.
>>Pero no tiene que ver con el error que recibís. Tiene que ver con que no
>> queden zonas grises en la
>> pantalla cuando se abandona la pantalla o se sobrepone el marco de Sugar
>> sobre la pantalla.
>
> Eso es también un buen arreglo. En el sugar nuevo, que hacés click en un
> botón de alguna barra y despliega
> abajo el contenido, cuando hacés click nuevamente, se sube la barra y
> momentáneamente queda en gris esa
> porción de pantalla, salvo que estés continuamente "flipeando" la pantalla,
> entonces el problema es casi
> imperceptible.
>
> 2012/5/22 Alan Jhonn Aguiar Schwyn <alanjas en hotmail.com>
>
>
> Si, lo probé y anda :-) (lo de conectar los eventos de _mainwindows)
> Pero una segunda revisión no viene mal..
>
> Otro problemita es con:
>
> Traceback (most recent call last):
>   File "/home/alan/Activities/ConozcoAmerica.activity/sugargame/event.py",
> line 209, in _mousemove_cb
>     self._post(evt)
>   File "/home/alan/Activities/ConozcoAmerica.activity/sugargame/event.py",
> line 243, in _post
>     raise e
> pygame.error: video system not initialized
>
> A veces tira ese error alguna actividad, no siempre, en algunos casos.
> Hay una solicitud de "merge" que habla del evento "videoexpose", quizás
> tenga que ver.. pero
> está pendiente de
> aprobación: http://git.sugarlabs.org/sugargame/mainline/merge_requests
>
> Saludos!
>
> Alan
>
>
> ________________________________
> Date: Tue, 22 May 2012 20:05:23 -0300
>
> From: pmoleri en gmail.com
> To: olpc-uruguay en lists.laptop.org
> CC: gonzalo en laptop.org; olpc-sur en lists.laptop.org
> Subject: Re: [Olpc-uruguay] [Sur] Problema con SugarGame
>
> 2012/5/22 Alan Jhonn Aguiar Schwyn <alanjas en hotmail.com>
>
>
> Pablo,
>
> Creo que entiendo. En la versión "estándar" (que está en el repositorio) no
> está conectada
> _mainwindows con los eventos de las teclas... con agregarle eso debería de
> andar, no?
>
> Exacto.
>
>
> Deberías pasarle esto a Wade. En el CodeSprint estuvimos hablando y varios
> habían tenido
> problemas con esto. Flavio, por ejemplo, hizo su propio "sugargame" y
> utiliza eso.
>
> Lo voy a hacer ahora mismo.
>
>>  El cambio de función era una mejora para poder sacar de la pantalla
>> pygame y después volverlo a poner.
> Es para poder alternar entre un menú GTK y pasar a una pantalla pygame y
> luego volver a un menú GTK?
> Flavio comentó que tenía una actividad que cuando pasaba del menú a otra
> pantalla, andaba. Pero cuando
> volvía a la pantalla, perdía todos los eventos..
>
> Exacto, no recuerdo extactamente cual era el comportamiento, tenía idea de
> que era un crash, pero capaz que era eso de que perdía los eventos.
> Se lo comento también a Wade.
>
> Saludos,
> Pablo
>
>
>
> _______________________________________________ Olpc-uruguay mailing list
> Olpc-uruguay en lists.laptop.org http://lists.laptop.org/listinfo/olpc-uruguay
>
> _______________________________________________
> Lista olpc-Sur
> olpc-Sur en lists.laptop.org
> http://lists.laptop.org/listinfo/olpc-sur
>



-- 
.. manuq ..


More information about the Olpc-uruguay mailing list