最近在编译一款开源游戏,用的是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。以后的事情再说吧,下班走人。