写篇lua

简介: 写篇lua

最近在编译一款开源游戏,用的是2dx的引擎,外加其他的一些开源。

做了两天,有些感悟,写出来。

1.自己偶尔看看,理一下思路       2.写给后来人,注意一些误区


首先,下载必要的文档。

其次,进行编译。编译就不用多说了吧,做过2dx的都应该知道,不懂的自行百度或者google

接下来有个大点的问题,我用的是2.2.3的引擎。


简单说一下我的修改:

setAnchorPoint



setContentSize  

找到2.1.3中对应的方法,拷贝到2.2.3中

一个module大概有两处:



//lua中对应到c++中的方法  lua:setContentSize   c++:tolua_Cocos2d_CCNode_setContentSize00

tolua_function(tolua_S,"setContentSize",tolua_Cocos2d_CCNode_setContentSize00);



//函数定义

/* method: setContentSize of class  CCNode */

#ifndef TOLUA_DISABLE_tolua_Cocos2d_CCNode_setContentSize00

static int tolua_Cocos2d_CCNode_setContentSize00(lua_State* tolua_S)

{

#ifndef TOLUA_RELEASE

tolua_Error tolua_err;

if (

    !tolua_isusertype(tolua_S,1,"CCNode",0,&tolua_err) ||

    (tolua_isvaluenil(tolua_S,2,&tolua_err) || !tolua_isusertype(tolua_S,2,"const CCSize",0,&tolua_err)) ||

    !tolua_isnoobj(tolua_S,3,&tolua_err)

)

 goto tolua_lerror;

else

#endif

{

 CCNode* self = (CCNode*)  tolua_tousertype(tolua_S,1,0);

 const CCSize* size = ((const CCSize*)  tolua_tousertype(tolua_S,2,0));

#ifndef TOLUA_RELEASE

 if (!self) tolua_error(tolua_S,"invalid 'self' in function 'setContentSize'", NULL);

#endif

 {

  self->setContentSize(*size);

 }

}

return 0;

#ifndef TOLUA_RELEASE

tolua_lerror:

tolua_error(tolua_S,"#ferror in function 'setContentSize'.",&tolua_err);

return 0;

#endif

}

#endif //#ifndef TOLUA_DISABLE





仅供参考



       上边是我当时做的时候简单做的一些说明,在这偷懒一下,直接拷过来。算了,还是说一下吧,这个是lua和c++的一些函数的修改。

由于游戏当时用的是1.3的引擎,而我用的是2.3的引擎,在lua中有很多函数有问题。不知道是当时下载的问题还是其他原因,不做过多的研究了。直接改了,ok了,解决了一

个大的bug。以后的事情再说吧,下班走人。

相关文章
Lua 函数
Lua函数是主要的抽象机制,用于执行任务或计算值。函数定义格式包括可选的函数作用域(默认全局)、函数名、参数列表和函数体。例如,定义一个名为`max`的函数,接收两个参数`num1`和`num2`,返回它们中的最大值。函数可以作为参数传递,如示例中将`myprint`函数传递给`add`函数,实现功能组合。
|
2月前
Lua
Lua
19 0
|
Ubuntu 云计算 C++
C++与lua的结合,LuaBridge的使用及遇到的坑
C++与lua的结合,LuaBridge的使用及遇到的坑
|
API Go
Lua相关的知识
http://stackoverflow.com/questions/5438751/how-to-debug-lua-remotely http://cn.bing.com/search?q=org.
901 0