赞
踩
AssetBundle
AssetBundles-Browser-master
关于AB包打包和加载 ,高版本的将使用最新的Addressables进行
这里使用AssetBundles-Browser-master
使用协程
在包中的资源如果使用了另一个资源,打包会默认打包到同一个AB包
如果在AB中使用了另一个AB包中的资源,会出现丢失。需要把依赖包都加载才能正常允许。
可以通过主包获取依赖信息
泛型加载
泛型
判断是否
打印
print(“”)
注释
type()可以获取变量类型
LUA中没有switch
多返回值时,在前面申明多个变量来接取即可
闭包:改变参数的生命周期
Lua中索引从1开始
访问类中成员变量
LUA提供了语法糖方便访问成员变量
用冒号:默认把调用者作为第一个参数传入函数
在函数声明的时候可以使用冒号,意思是函数会有一个默认的参数
LUA有一个默认值self,表示默认传入的第一个参数
这两句的效果是一样的
加了local就是局部变量(本地变量)
可以在脚本中return
一层一层往上套
装父类的base
调用父类方法
这样调用base时用的是同一个父类
手动调用self,这样base就不会是同一个
--面向对象实现 --万物之父 所有对象的基类 Object --封装 Object = {} --实例化方法 function Object:new() local obj = {} --给空对象设置元表 以及 __index self.__index = self setmetatable(obj, self) return obj end --继承 function Object:subClass(className) --根据名字生成一张表 就是一个类 _G[className] = {} local obj = _G[className] --设置自己的“父类” obj.base = self --给子类设置元表 以及 __index self.__index = self setmetatable(obj, self) end --申明一个新的类 Object:subClass("GameObject") --成员变量 GameObject.posX = 0 GameObject.posY = 0 --成员方法 function GameObject:Move() self.posX = self.posX + 1 self.posY = self.posY + 1 end --实例化对象使用 local obj = GameObject:new() print(obj.posX) obj:Move() print(obj.posX) local obj2 = GameObject:new() print(obj2.posX) obj2:Move() print(obj2.posX) --申明一个新的类 Player 继承 GameObject GameObject:subClass("Player") --多态 重写了 GameObject的Move方法 function Player:Move() --base调用父类方法 用.自己传第一个参数 self.base.Move(self) end print("****") --实例化Player对象 local p1 = Player:new() print(p1.posX) p1:Move() print(p1.posX) local p2 = Player:new() print(p2.posX) p2:Move() print(p2.posX)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。