thegooglecodearchive / los-cocos

Automatically exported from code.google.com/p/los-cocos
0 stars 0 forks source link

Bloqueo de acciones sobre ActionSprite #2

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Cuando concluye una acción el Sprite queda inactivo y
no es posible solicitarle que realice otra acción mediante
el método "do".

El siguiente programa desplaza la imagen "test.png" al punto
indicado por un click del mouse. Según el código la imágen debería
cambiar de posición cada vez que el usuario hace click, pero este
movimiento solo se realiza una sola vez. Si el movimiento concluye
ya no es posible indicarle que se desplace otra vez:

import pyglet
from cocos.actions import *

window = pyglet.window.Window()

image = pyglet.resource.image('test.png')
image.anchor_x = image.width / 2
image.anchor_y = image.height / 2

sprite = ActionSprite(image)

@window.event
def on_draw():
    window.clear()
    sprite.draw()

@window.event
def on_mouse_press(x, y, buttons, modifiers):
    sprite.do(Goto((x, y), 1))

pyglet.app.run()

Original issue reported on code.google.com by hugorusc...@gmail.com on 10 Mar 2008 at 6:44

GoogleCodeExporter commented 9 years ago
Aparentemente se soluciona colocando "self.schedule = False" en
la linea 248 de actions.py:

--- cocos/actions.py    (revisión: 176)
+++ cocos/actions.py    (copia de trabajo)
@@ -244,6 +244,7 @@
         self.to_remove = []

         if len( self.actions ) == 0:
+            self.schedule = False
             pyglet.clock.unschedule( self.step )

Original comment by hugorusc...@gmail.com on 10 Mar 2008 at 6:45

GoogleCodeExporter commented 9 years ago
gracias!

Original comment by ricardoq...@gmail.com on 10 Mar 2008 at 6:58

GoogleCodeExporter commented 9 years ago
fixed r178

Original comment by ricardoq...@gmail.com on 10 Mar 2008 at 7:05

GoogleCodeExporter commented 9 years ago
oops, refixed in r184

Original comment by ricardoq...@gmail.com on 10 Mar 2008 at 8:50

GoogleCodeExporter commented 9 years ago
aparentemente hay un error en la linea 247 de actions.py. Donde indica:

    self.schedule = False

debería ser:

    self.scheduled = False

es decir, con "d" al final.

Original comment by hugorusc...@gmail.com on 13 Mar 2008 at 1:19

GoogleCodeExporter commented 9 years ago
gracias.
fixed.

Original comment by ricardoq...@gmail.com on 13 Mar 2008 at 3:56