1 Star 0 Fork 0

猴子0532/Docs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
20170606-Scene间传参 1.22 KB
一键复制 编辑 原始数据 按行查看 历史
hello,world 提交于 2017-06-06 14:46 . Update 20170606-Scene间传参
quick-cocos2d-lua 3.6.3
1. 两个Scene A---->B
A:
local args = {}
args.name = name
args.level = level 各种参数
app:enterScene("GameScene",{args}) ---enterScene传递的参数是一个table
B:
function GameScene:ctor(args)
print(args)
end
2. lua中点和冒号的区别:
冒号定义方法,默认会接受self参数;而点号定义的时候,默认不会接受self参数
建议:需要传递参数的时候用点,把需要的参数包括类本身都写进去
在定义函数的时候用冒号
例子:
function class:test()
   --这里会接受self参数,比如
   print(self.a,self.b) --在这里self就是class对象本身,因此不会出错
end
function class.test()
   --点号定义时,默认不会接受self参数,因此在这里用self会出错,找不到全局变量self
   print(self.a,self.b)--报错,找不到全局变量self
end
local gameLayer = GameLayer.new(args)
local gameLayer = GameLayer:new(args)
同时在GameLayer类内打印dump(args)
上面的只是输出args的值
下面的由于默认传了self,所以会打印出GameLayer所有的函数
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/chenyu0532/Docs.git
git@gitee.com:chenyu0532/Docs.git
chenyu0532
Docs
Docs
master

搜索帮助