quick lua binding使用詳解

2021-06-28 22:41:01 字數 2211 閱讀 6527

1 建立c++檔案 myclass.cpp myclass.h 於 frameworks/runtime-src/classes/tolua目錄下

myclass.cpp

#include "myclass.h"

int myclass::foo(int i)

myclass.h

#include "cocos2d.h"

using namespace cocos2d;

class myclass : public ref

; ~myclass() {};

bool init() ;

create_func(myclass);

int foo(int i);

};

2 編寫.ini檔案。在frameworks/cocos2d-x/tools/tolua/目錄下能看到genbindings.py指令碼和一大堆.ini檔案,這些就是bindings-generator的實際執行環境了。隨便找乙個內容比較少的.ini檔案,複製乙份,重新命名為myclass.ini。大部分內容都可以湊合不需要改,這裡僅列出必須要改的重要部分:

[myclass]

prefix = myclass

target_namespace = my

headers = %(cocosdir)s/../runtime-src/classes/tolua/myclass.h

classes = myclass

3 修改genbindings.py檔案 129行附近,將myclass.ini檔案加進去:

frameworks/cocos2d-x/tools/tolua/genbindings.py

cmd_args = {'cocos2dx.ini' : ('cocos2d-x', 'lua_cocos2dx_auto'), \

'myclass.ini' : ('myclass', 'lua_myclass_auto'), \

...

4 在控制台進入frameworks/cocos2d-x/tools/tolua/ 目錄 ,執行genbindings.py

會在framework/cocos2d-x/cocos/scripting\lua-bindings\auto 目錄下生成lua_myclass_auto.cpp和lua_myclass_auto.hpp兩個檔案將其複製到classes/tolua目錄下

#include

"../tolua/lua_myclass_auto.hpp"

()函式中新增

luastack* stack1 = engine->

getluastack();

register_all_myclass(stack1->getluastate());

6測試 在main.lua檔案中

local test = my.myclass:create()

print("lua bind: " .. test:foo(99)

已解決出現的問題

1.python缺少yaml庫cheetah庫 安裝easy_install 安裝相應的庫

2.python :importerror …maxrepeat 提示

修改python27\lib下src_constants.py如下

magic = 20031017

try:

from _sre import maxrepeat

except importerror:

import _sre

_sre.maxrepeat = 65535

# sre standard exception (access as sre.error)

# should this really be here?

class

error

(exception):

pass

這樣使用vs2012可以啟動win程式但是如果使用cocos code ide 的話要修改android.mk檔案將myclass.cpp、lua_myclass_auto.cpp新增到local_src_files :下

參考:

quick lua binding使用詳解

quick lua binding使用詳解,有需要的朋友可以參考下。1 建立c 檔案 myclass.cpp myclass.h 於 frameworks runtime src classes tolua目錄下 myclass.cpp include myclass.h int myclass f...

Spring MVC JsonView使用詳解

spring 提供了對jackson 非常好的支援,可以檢視此spring jackson demo 來掌握。這裡著重說一下 jsonview的用法 jsonview可以過濾序列化物件的字段屬性,可以使你有選擇的序列化物件。下面看乙個例子 首先我們定義乙個view類,裡面包含我們對 要序列化的字段 ...

Spring MVC JsonView使用詳解

原文出處 spring 提供了對jackson 非常好的支援,這裡著重說一下 jsonview的用法 jsonview可以過濾序列化物件的字段屬性,可以使你有選擇的序列化物件。下面看乙個例子 首先我們定義乙個view類,裡面包含我們對 要序列化的字段 的定義,我們暫時歸為summary 摘要 屬於s...