找回密码
 立即注册
查看: 300|回复: 0

Xlua学习笔记一

[复制链接]
发表于 2023-4-11 15:54 | 显示全部楼层 |阅读模式
1.Xlua学习笔记一
1.设置Rect的宽高:
  1.   self.inputRect.sizeDelta =Vector2(self.inputRect.sizeDelta.x, newHeight);
复制代码
2.取最大值
  1. local newHeight = math.max(self.originHeight, input.preferredHeight +20);
复制代码
取最小值
local realCount = math.min(count, prefabCount)
3.向下取整
  1. self.txt_bonus.text = math.floor(self.roomInfo.MinScore * Const.netWin *2)
复制代码
4.table 的长度
  1. #+table
  2.    例如:self.speedIndex =#speedTab       
复制代码
5.获取组件孩子
  1. for i =1, self.scroll_rank.content.childCount dolocal node=self.scroll_rank.content:GetChild(i -1)local item=AvatarFrameNode:create(node)
  2.         table.insert(self.rankItemArr,item )
复制代码
6.延迟接口:
  1. LuaTimer.Add(300,function()---延迟处理,避免受弹框动画影响
  2.         App.Notice(AppMsg.TaskGuide, body)end)
复制代码
7.加载动画
  1.   self.avatarFrame=AvatarFrameNode:create(self.btn_head.transform)
复制代码
8.加载预制体
  1. local prefab = ResourceMgr:LoadUIPrefab(path)
复制代码
9.字符串强转
  1. tostring(num)=>数字转为字符串
  2.   tonumber(str)=>字符串转为数字
复制代码
10.assert
assert (v [, message])
  1. 1.如果其参数 v 的值为假(nil 或 false), 它就调用 error; 否则,返回所有的参数。
  2.      在错误情况时, message 指那个错误对象; 如果不提供这个参数,参数默认为 “assertion failed!” 。
  3. 2.assert是error的包装,将判断之类的操作包装了进去!所以使用assert比之使用error更为方便!
  4. 3. 第一个参数为nil或判断的结果为false的时候抛出错误,中止运行,调用error函数;否则继续执行!
  5. 4.第二个参数为可选的错误提示信息,如果提供这个参数,调用error函数的时候则打印出message;否则使用默认的"assertion failed!"。
复制代码
    遍历配置表
  1. for i, v inipairs(Cache.config.prop_configs)doif v.enable andnot string.isEmpty(v.sku)then
  2.         table.insert(Cache.skuArr, v.sku)endend
复制代码
迭代器和泛型for
Lua中的迭代器常用函数来描述迭代器,每次调用该函数就返回集合的下一个元素。
下面是一个例子:
  1. functionIterFactory(t)-->创建迭代器的工厂local i =0local n =#t            -->获取表的长度,只对列表形式的有效returnfunction()-->这个是迭代器
  2.         i = i +1if i <= n thenreturn t[i]endendend
  3. aTable ={"one","two","three"}
  4. f =IterFactory(aTable)print(f())--> oneprint(f())--> twoprint(f())--> threeprint(f())--> 不打印
复制代码
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-26 16:29 , Processed in 0.088231 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表