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.