quick lua binding使用詳解

2021-07-12 03:44:43 字數 2270 閱讀 7167

quick lua-binding使用詳解,有需要的朋友可以參考下。

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使用詳解

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...

Spring MVC JsonView使用詳解

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

Spring MVC JsonView使用詳解

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