LUA调用c++的新类和新函数(cocos2dx 2.x版本)

来源:互联网 发布:淘宝商城婴儿玩具店 编辑:程序博客网 时间:2024/05/01 18:51

两种方法都是使用tolua++

第一种方法:

直接使用路径(cocos2d-x-2.2.3\tools\tolua++)里边的build.bat文件和build_studio.bat文件生成;


build_studio.bat是用来修改cocostudio控件内容的。具体流程如下(用UIListView举例):

1.      修改引擎内UIListView类,比如添加属性或方法;

2.      修改目录tools\tolua++下的UIListView.pkg文件,添加第1步添加的内容,此文件的书写规范参见tools\tolua++\README;

3.      点击build_studio.bat将会生成scripting/lua/cocos2dx_support/LuaCocoStudio.cpp文件;

:如果新添加控件的话还需要在CocoStudio.pkg里边添加新的类名。

 

build.bat的使用方法同上build_studio.bat,因为一般是生成新的类,具体流程如下(用FProperty举例):

1.      添加项目内FProperty类;

2.      在目录tools\tolua++下添加FProperty.pkg文件,添加需要lua识别的内容,此文件的书写规范参见tools\tolua++\README;

3.      在tools\tolua++\Cocos2d.pkg里添加FProperty类的引用;

4.      点击build.bat将会生成scripting/lua/cocos2dx_support/LuaCocos2d.cpp文件;

5.      scripting/lua/cocos2dx_support/LuaCocos2d.cpp在新生成的此文件里importFProperty.h,注意,如果FProperty类中有别的import引用,需要在的属性里添加附加包含目录;


第二种方法:(推荐)

此方法只适用于项目中添加新的类,供lua识别。如下图是项目中添加的文件;


1.LuaAPI类是每次运行build.bat生成的,直接被lua识别,为啥会被识别呢?这里需要在下的cocos2dx_support\CCLuaStack.cpp里添加#include"LuaAPI/api/LuaAPI.h"


这个函数是LuaAPI里边声明的函数;

 

2.  PkgDiscription.h里边添加我们新添加的类FProperty,记得添加注释//tolua_begin // tolua_end

3.      PkgHeadFiles.h类里添加引用#include"Data/FProperty.h"

4.      双击build.bat生成即可


0 0
原创粉丝点击