Example code:
http://pastebin.com/8pbrJ9xJ

When I add print('Draw') to the draw function, I get no terminal output.

Can you see what's wrong with it?

~
Doug.

On Sunday, April 7, 2013 2:26:00 AM UTC+8, Claudio Canepa wrote:
>
>
> On Sat, Apr 6, 2013 at 12:30 PM, Doug Linder 
> <[email protected]<javascript:>
> > wrote:
>
>> Hey there,
>>
>> I've been using pywidget (https://pywidget.googlecode.com/svn/trunk) 
>> with cocos2d quite successfully as a GUI, but in order to do so I've had to 
>> hack the cocos director class. 
>>
>> Basically, modifying Director::on_draw to read, at the end:
>>
>>        # Draw the GUI
>>         if self.gui != None:
>>           self.gui.on_draw()
>>
>> Where you pass in the appropriate pywidget gui object by assigning it to 
>> the director:
>>
>> class Client:
>>   def run(self):
>>
>>     cocos.director.director.init()
>>     cocos.director.director.gui = dialog
>>     cocos.director.director.window.push_handlers(dialog)
>>
>>     ui = rpg.ui.Test()
>>     main_scene = cocos.scene.Scene (ui)
>>     cocos.director.director.run (main_scene)
>>
>> This seems fairly successful in that the cocos event handlers still work, 
>> and the event bindings for the UI work, so all in all, pretty good.
>>
>> However, it's annoying having to patch the cocos source to do this. 
>>
>> I feel like I should just be able to extend CocosNode and override the 
>> draw() method, then add the object to the scene, but my draw() function 
>> never seems to get called when I do this.
>>
>>
> If you subclass CocosNode , instantiate your subclass and adds to an 
> active scene, then his visit and draw methods will be called [0].
>
> If you show code for your CocosNode attempt that is not working for you 
> maybe a fix can be suggested.
>  
>
>> Is there some special magic I need to do?
>>
>>
> I don't think so
>  
>
>> I'd prefer not to hack up the source just to have a gui if I can avoid it.
>>
>>
> Yeah.
> Pastebin your original attemp (not modifyng director) , or a simplified 
> one and w'ill see.
>
>
>
> [0] Technically your overriden visit can decide to skip calls to draw, 
> drawing the node and childs with custom code, presumably for performance 
> reasons.
>
>
>  

-- 
You received this message because you are subscribed to the Google Groups 
"cocos2d discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cocos-discuss?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to