游戏脚本怎么写 使用Lua脚本进行游戏开发(基础篇)

11/28 08:17:39 来源网站:辅助卡盟平台

运行效果图如下:

对于Himi上面给出的自己修改后的代码注视写的狠清楚了 =。 = 所以不多加赘述,但是Himi这里需要还要详细说一点;

脚本lua等一般都示通过中间层(解析)进行与前端代码(Cocos2dX封装的引擎类库)交互,所以很多方法名称可能发生了改变,那么对于不太熟悉的童鞋我们如何下手?

OK,如刚才的代码中有个“备注”,不知道细心童鞋们看到没有,这里是添加了一个CCLabelTTF ,假如我们不知道它的构造函数是否有修改,或者说参数忘记都是什么了,那么请打开你项目的libs文件夹游戏脚本怎么写,然后打开lua文件夹,继续打开cocos2dx_support文件夹找到 LuaCocos2d.cpp文件打开,(注意这个文件代码很多,打开较慢)然后你会看到很多方法的定义与实现!

那么假如我们来找 CCLabelTTF的构造方法,那么搜一下如下语句:

 
  1. tolua_beginmodule(tolua_S,"CCLabelTTF"); 

你将发现此类下方一大批类似的代码:

没错这里就是此类的所有是lua-cocos2dx之间的转换函数定义,比如常用的CCLabelTTF构造函数:

 
  1. tolua_function(tolua_S,"labelWithString",tolua_Cocos2d_cocos2d_CCLabelTTF_labelWithString01); 

此函数第一参数大家不用理会,第二个参数表示我们使用cocos2d/x时调用的函数名称,后面则是lua-cocos2dx之间的转换函数实现代码,大家可以继续搜索第三个参数或者按住command然后点击第三个参数找到其函数实现代码:

 
  1. /* method: labelWithString of class  cocos2d::CCLabelTTF */ 
  2. #ifndef TOLUA_DISABLE_tolua_Cocos2d_cocos2d_CCLabelTTF_labelWithString01 
  3. static int tolua_Cocos2d_cocos2d_CCLabelTTF_labelWithString01(lua_State* tolua_S) 
  4.  tolua_Error tolua_err; 
  5.  if ( 
  6.      !tolua_isusertable(tolua_S,1,"cocos2d::CCLabelTTF",0,&tolua_err) || 
  7.      !tolua_isstring(tolua_S,2,0,&tolua_err) || 
  8.      !tolua_isstring(tolua_S,3,0,&tolua_err) || 
  9.      !tolua_isnumber(tolua_S,4,0,&tolua_err) || 
  10.      !tolua_isnoobj(tolua_S,5,&tolua_err) 
  11.  ) 
  12.   goto tolua_lerror; 
  13.  else 
  14.  { 
  15.   const char* label = ((const char*)  tolua_tostring(tolua_S,2,0)); 
  16.   const char* fontName = ((const char*)  tolua_tostring(tolua_S,3,0)); 
  17.   float fontSize = ((float)  tolua_tonumber(tolua_S,4,0)); 
  18.   { 
  19.    cocos2d::CCLabelTTF* tolua_ret = (cocos2d::CCLabelTTF*)  cocos2d::CCLabelTTF::labelWithString(label,fontName,fontSize); 
  20.     tolua_pushusertype(tolua_S,(void*)tolua_ret,"cocos2d::CCLabelTTF"); 
  21.   } 
  22.  } 
  23.  return 1; 
  24. tolua_lerror: 
  25.  return tolua_Cocos2d_cocos2d_CCLabelTTF_labelWithString00(tolua_S); 
  26. #endif //#ifndef TOLUA_DISABLE 

    暂无相关资讯
游戏脚本怎么写 使用Lua脚本进行游戏开发(基础篇)