下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

初学必看!Cocos2DLua中的三种变量详解

作者:课课家教育     来源: http://www.kokojia.com点击数:1294发布时间: 2019-03-26 09:25:17

标签: Cocos2DLua变量Cocos2DLuaCocos2DLua教程

  相信初学Cocos2Dlua者对Cocos2DLua中包含的变量都陌生的很,今天本篇教程带你深入了解Cocos2DLua中的三种变量。

初学必看!Cocos2DLua中的三种变量详解_Cocos2DLua变量_Cocos2DLua_Cocos2DLua教程_课课家

  写上变量的地方意味着当以其保存的值来替代之。Lua中有三类变量:全局变量,局部变量,还有table的域。

  一个单一的名字可以表示一个全局变量,也可以表示一个局部变量(或者是一个函数的参数,这是一种特殊形式的局部变量):

  任何变量都被假定为全局变量,除非显式的以local修饰定义。局部变量有其作用范围:局部变量可以被定义在它作用范围中的函数自由使用。

  在变量的首次赋值之前,变量的值均为nil。

  方括号被用来对table作索引:

  对全局变量以及table域之访问的含义可以通过metatable来改变。以取一个变量下标指向的量t[i]等价于调用gettable_event(t,i)。(这个函数并没有在lua中定义出来,也不能在lua中调用。这里我们把它列出来只是方便说明。)

  var.Name这种语法只是一个语法糖,用来表示var["Name"]:

  所有的全局变量都是放在一个特定luatable的诸个域中,这个特定的table叫作environment(环境)table或者简称为环境(参见§2.9)。每个函数都有对一个环境的引用,所以一个函数中可见的所有全局变量都放在这个函数所引用的环境表(environmenttable)中。当一个函数被创建出来,它会从创建它的函数中继承其环境,你可以调用getfenv取得其环境。如果想改变环境,可以调用setfenv。(对于C函数,你只能通过debug库来改变其环境)。

  对一个全局变量x的访问等价于_env.x,而这又可以等价于

  这里,_env是当前运行的函数的环境。(这个函数并没有在lua中定义出来,也不能调用。当然,_env这个变量也同样没有在Lua中定义出来。我们在这里使用它们,仅仅只是方便解释而已。)

赞(15)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程