Bueno, ahora me tranqué con el adaptador que no me devuelve los eventos a pygame.<br><br>El adaptador lo que haces capturar los eventos en el canvas de la ventana de sugar, traduce la informacion de este evento y la agrega en un userevent que pone en la cola de eventos de pygame, a lo cual este responde.<br>
<br>El tema es que cuando muevo el mouse sin apretar ningun boton o apreto el mouse sin moverlo, los eventos no llegan nunca a pygame.<br>Ejecutando el juego sin el adaptador, todo marcha perfecto, así que el error está en el adaptador.<br>
<br>El adaptador está publicado aca: <a href="http://sites.google.com/site/sugaractivities/home/herramientas/adaptadorpygamesugar">http://sites.google.com/site/sugaractivities/home/herramientas/adaptadorpygamesugar</a><br>
<br>Lo que sigue es un fragmento de codigo del adaptador donde se capturan los eventos del mouse y se pasan a un userevent (self._post(evt) ) en pygame. Un detalle a tener en cuenta es que al crear las mascaras de eventos para el mouse, cuando se crea con gtk.gdk.POINTER_MOTION_HINT_MASK el evento se traduce correctamente solo una vez, al crear la ventana y luego ya no funciona, esto no es una particularidad de sugar ni gtk, siempre es así según lo que leí, sin embargo, no entiendo mucho sobre las mascaras, así que les dejo esto para que vean que se les ocurre.<br>
<br><b>    def _get_mouse_pressed(self):</b><br>        return self.__button_state<br><b><br>    def _mousedown_cb(self, widget, event):</b><br>        self.__button_state[event.button-1] = 1<br>        return self._mouseevent(widget, event, pygame.MOUSEBUTTONDOWN)<br>
<br><b>    def _mouseup_cb(self, widget, event):</b><br>        self.__button_state[event.button-1] = 0<br>        return self._mouseevent(widget, event, pygame.MOUSEBUTTONUP)<br>        <br><b>    def _mouseevent(self, widget, event, type):</b><br>
        evt = pygame.event.Event(type, button=event.button, pos=(event.x, event.y))<br>        self._post(evt)<br>        return True<br>        <br><b>    def _mousemove_cb(self, widget, event):</b><br>        if event.is_hint:<br>
            x, y, state = event.window.get_pointer()<br>        else:<br>            x = event.x<br>            y = event.y<br>            state = event.state<br><br>        rel = (x - self.__mouse_pos[0], y - self.__mouse_pos[1])<br>
        self.__mouse_pos = (x, y)<br>        <br>        self.__button_state = [<br>            state &amp; gtk.gdk.BUTTON1_MASK and 1 or 0,<br>            state &amp; gtk.gdk.BUTTON2_MASK and 1 or 0,<br>            state &amp; gtk.gdk.BUTTON3_MASK and 1 or 0,<br>
        ]<br>        <br>        evt = pygame.event.Event(pygame.MOUSEMOTION, pos=self.__mouse_pos, rel=rel, buttons=self.__button_state)<br>        self._post(evt)<br>        return True<br><br><br><br><br><br><div class="gmail_quote">
El 20 de febrero de 2010 02:06, Flavio Danesse <span dir="ltr">&lt;<a href="mailto:fdanesse@gmail.com">fdanesse@gmail.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
En la xo Pablo.<br>Yo siempre pruebo todo en la xo a medida que hago cambios en el codigo y muchas veces programo directamente en la xo, salvo que sea algo muy complicado entonces me resulta mas comodo mi notebook por el teclado sobre todo.<br>

<br><br><br><div class="gmail_quote">El 20 de febrero de 2010 01:51, Pablo Moleri <span dir="ltr">&lt;<a href="mailto:pmoleri@gmail.com" target="_blank">pmoleri@gmail.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">
<div class="gmail_quote">2010/2/20 Flavio Danesse <span dir="ltr">&lt;<a href="mailto:fdanesse@gmail.com" target="_blank">fdanesse@gmail.com</a>&gt;</span><div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Gabriel, el tema es que no se si se ajustará esta idea al juego que estoy haciendo porque de todos los jugadores que participan, solo uno es el usuario, el resto son robots que hay que controlar por tiempo para que el usuario pueda ver que es lo que hacen.<br>



<br>Está bien, esperar los eventos del usuario, pero los robots hay que enlentecerlos de lo contrario el usuario solo vería los resultados de sus jugadas pero no entendería que fue lo que hicieron sus rivales.<br><br></blockquote>


</div><div>Justamente me parece que lo que plantea Gabriel se ajuste muy bien a tu realidad. Podés mantener tu bucle principal refrescando la pantalla, etc, hasta que llegue el &quot;evento de usuario&quot; que en realidad te indica que es el turno del siguiente judador.<br>


Tenés que tener en cuenta que los eventos en pygame son períodicos, o sea que una vez que lo recibís tenér que desactivar el timer.<br><br></div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Con respecto a la respuesta de Esteban, justamente eso es lo que trataba de decir, que no funciona, que si pongo:<br>
<tt><tt> <span style="color: rgb(153, 0, 0);">pygame.time.delay(1500)</span></tt></tt> obtengo el mismo retardo que si pongo <tt><tt> <span style="color: rgb(153, 0, 0);">pygame.time.delay(10000)</span></tt></tt><br><br>


</blockquote></div><div>En esto no se como ayudarte, habría que buscar en algún foro, pero según la documentación con 15*1000 debería esperar 15 segundos, capaz que hay algún otro evento que interrumpe el delay y por eso no lográs que espere más de 1s. <br>


</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Gracias a la ayuda de ustedes, el juegó bajó de 74% de CPU a 20% y nunca pasa del 26% en la RAM.<br></blockquote><div>Muy bueno! ¿Esto es en una XO o en otra PC?<br><br></div><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


Ya solucioné los problemas de audio que tenía.<br>Se que el juego es una bobada, pero la verdad que me está quedando bien bonito, con suerte, espero poder terminarlo para abril<br></blockquote></div><div>Vamo arriba!! :D <br>

</div>
<br></div><br>
<br></div></div><div class="im">_______________________________________________<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></div></blockquote></div><br>
</blockquote></div><br>