• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            專職C++

            不能停止的腳步

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              163 Posts :: 7 Stories :: 135 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(28)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            基于cocos2dx 2.2.2版本。這幾天使用了cocostudio實現了,動畫,骨骼動畫,UI編輯,粒子效果,雖然有些不足,但已經算是非常好了。今天嘗試用lua,這個非常簡單,創建的時候,設置語言為lua,那就可以創建lua工程。
            在cocos2d-x-2.2.2\tools\project-creator下運行:
            python create_project.py -project test_lua -package com.android.zdhsoft -language lua
            xcopy ..\..\cocos2dx\platform\android\java\src\* ..\..\projects\test_lua\proj.android\src /E
            就可以創建test_lua,就可以順利跑起來。
            但是我有些代碼是C++的,想到在lua下用,感覺得用cocos2dx自帶的tolua++,會影響現有的Cocos2dx框架,也可能帶來潛在的風險。(除了,bug,我一般不樂意修改框架的東西)。而且需要手動綁定的也不多。于是找了幾個開源的綁定框架。有luabind,luatinker,ELuna,luabridge,等。luabind需要boost庫,這個太頭痛了,luatinker,eluna在試用過程都有些問題(有一個不支持派生類和模板),雖然這兩個是最簡單的,但是功能也弱了些。最后,用luabridge順利解決,使用起來也非常簡單。
            下面是下載地址:https://github.com/vinniefalco/LuaBridge
            個版本已經支持lua 5.1.5,不過不支持C++0x11,例子很豐富。這里有很多例子,http://vinniefalco.com/LuaBridge/Manual.html
            載后,直接解壓,把LuaBridge.h,RefCountedObject.h,RefCountedPtr.h和detail下的所有頭文件,全部復制到classes目錄,然后在AppDelegate包含luabrigde.h就可以了。
            下面是一個用于測試的類
            class testA
            {
            public:
                testA()
                {

                }
                int getValue()
                {
                    return 100;
                }
            };
            下面是綁定代碼
                luabridge::getGlobalNamespace(pEngine->getLuaStack()->getLuaState())
                    .beginClass<testA>("testA")
                    .addConstructor<void(*) ()>()
                    .addFunction("getValue", &testA::getValue)
                    .endClass();
            然后,就可以在你的lua代碼使用這個類了。
                local testa = testA ()
                cclog("testa=%d", testa:getValue()) 
            現在cocos2dx上面,現在出現了兩個重要的lua分支, 一個是quickx,一個cocos-code-ide。quickx提供了一個非常強大的lua框架,讓你寫lua省心省力。而cocos ide則基于eclipse提供了一個x-man的編輯器,支持lua和js調試。這讓C++情何以堪啊!
            posted on 2014-07-09 20:06 冬瓜 閱讀(1896) 評論(0)  編輯 收藏 引用 所屬分類: 原創cocos2dx
            精品久久人人做人人爽综合| 色88久久久久高潮综合影院| 久久国产精品一区| 亚洲综合久久夜AV | 国产亚洲色婷婷久久99精品| 精品久久久久久无码免费| 狠狠色综合网站久久久久久久高清 | 色偷偷91久久综合噜噜噜噜| 亚洲午夜久久久久久久久久| 久久久久亚洲精品男人的天堂| 嫩草伊人久久精品少妇AV| 久久AAAA片一区二区| 国产精品免费福利久久| 欧美亚洲国产精品久久高清 | 久久久国产精品亚洲一区| 亚洲国产精品无码久久久久久曰| 久久午夜伦鲁片免费无码| 久久99热这里只频精品6| 精品久久久久中文字| 91精品日韩人妻无码久久不卡| 精品国际久久久久999波多野| 欧美日韩精品久久久免费观看| 狠狠色丁香久久婷婷综| 国产亚洲色婷婷久久99精品| 伊人久久大香线蕉综合影院首页| 精品国产日韩久久亚洲| 久久久这里只有精品加勒比| 久久综合精品国产一区二区三区| 国产午夜电影久久| 国产成人无码精品久久久久免费| 99久久精品午夜一区二区| 国产精品久久久久久| 亚洲成人精品久久| 日本免费久久久久久久网站| 久久久青草久久久青草| 国产精品99久久久久久宅男| 久久99精品国产99久久6| 久久激情亚洲精品无码?V| 亚洲乱码日产精品a级毛片久久| 无码任你躁久久久久久久| 久久精品国产男包|