On Thu, Feb 9, 2012 at 6:22 AM, Philippe <[email protected]> wrote:
> Hello again .. > > I have an issue with the update of my sprites. > I pasted a small sample that reproduce my problem here: > http://pastebin.com/KrajS6RX > > I set 3 ways of changing the mask of my_sprite. > > 1- user can click on the sripte, it reduce the mask width => it works > well > > 2- user can press a key on the Layer, the layer use a > pyglet.event.EventDispatcher to push an event, my_sprite receive it => > it works well too ! > > 3- I go a thread, in my pyglet.event.EventDispatcher that push an > event every 5s. my_sprite receive it, but does not update itself in > the window. > I tried to add the self.draw() instruction, but got an error: > GLException: invalid operation > > Any idea ? > If I move the mouse over the window, I got clean refresh, even for > -3-. I would like to have the same, but without moving the mouse > around! > > thanks > > I don't really know about threads, but 1. I remember some comments in the line 'calls to openGL must be done from the same thread that acquired the openGL context'. So I don't expect that ultimately calling to .draw from other thread can work 2. Maybe is an artifact from your sample, but you are modifying self.gap from two different threads. That will explode at some time, when one thread is amidst of changing gap, the other thread kicks in and also tries to change gap 3. Usually code that can be called from multiple threads is explicitly announced as multithread safe ; I don't remember any such comments in the pyglet event docs. 4. Perhaps some of the posts here: http://search.gmane.org/search.php?group=gmane.comp.python.pyglet.user&query=threading may help you 5. Out of curiosity, what is your real use case for threading with pyglet ? Are you sure you are not killing flies with missiles ? -- claudio -- You received this message because you are subscribed to the Google Groups "cocos2d discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/cocos-discuss?hl=en.
