quick-cocos2d-x 綁定C++自定義類

初次接觸lua和quick-cocos2d-x,想要用用cocosWidget,然後就碰到C++到lua的綁定問題了。

看了下網上的教程,http://cn.cocos2d-x.org/tutorial/show?id=513

由於時間緊迫,沒去看官方的文檔和基本原理,就按上面的流程走。

說說流程和問題。

進入路徑:quick\lib\extra\luabinding,找到cocos2dx_extra_luabinding.tolua,裏面都有extra的一些c++類,

只要參考那些類來寫就沒問題。

結果好像沒問題,在代碼裏敲入,cc.MySprite:createMS("xxx.png"),然後addChild

問題就來了,addChild老是報錯,參數不對。輸出創建的類MySprite,是userdata。

這問題糾結了好久,終於發現cocos2dx_extra_luabinding.tolua裏面的HttpRequest類繼承的寫法是:cc.Ref!

OK,我也把我的自定義類繼承寫法從:cocos2d::Sprite改成:cc.Sprite

重新編譯,跑起來,終於沒問題,模擬器上能正常顯示被加上的圖片。

其實只是高興了一下,問題又來了!

自定義的C++類創建並加入layer裏面後,雖然能看到它了,但即刻跟着報了一箇中斷錯誤:Assert: Node still marked as running on node destruction! Was base class onExit() called in derived

網上的做法是去掉onExit(),這裏不多說了,還是花點時間去研究cocos2d-x lua 的綁定吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章