Unity如何降低Drawcall
摘要:1.为什么合批能提升性能,如何查看系统的drawcall 比如我们游戏场景中有100个物体,我们绘制每个物体的时候,提交给GPU,然后来绘制; CPU:准备好数据,然后通过我们CPU与GPU通讯,给GPU提交数据,下达渲染命令 CPU-->内存 >提交数据给GPU显存;CPU传递的参数给shader
阅读全文
lua元表
摘要:元表 --元表 local a = {} local meta_a = {} --两个表相加,第一个参数是一个表,第二个参数也是一个表 -- meta_a 叫做a的元表 setmetatable(a,meta_a) --设置a的元表 print("a的元表:",getmetatable(a)); -
阅读全文
lua面向对象和继承
摘要:面向对象 步骤 1: 定义一个类的表 后面作为 类的实例的元表: 2: 定义一个类的实例的表 3: 为这个实例的表加一个元表,并且元表的__index指向类的表 4:利用self机制,绑定实例对象。 当 表的实例:表的函数 的时候,隐式的帮我们传递了实例的表为self 到函数里面 -- lua是没有
阅读全文
Lua模块
摘要:包: module(包名, package.seeall) module("BagMgr", package.seeall) function ctor() ... end 调用module函数,把BagMgr声明成全局的模块
阅读全文
Lua的unpack
摘要:原文:https://blog.csdn.net/YongshuangZhao/article/details/103493586 用法 unpack它接受一个数组(table)作为参数,并默认从下标1开始返回数组的所有元素 arrayData = {"a","b","c","d","e"} pri
阅读全文
Lua表的使用
摘要:表的使用 1: Lua没有数组,但是表可以代替数组的功能(数组部分与非数组部分); Lua表的数组部分的索引是从1开始的, 1, 2, 3 ...称连续的索引; Lua表的连续索引的长度(数组部分); #表的名字; Lua表支持key, value模式; 2遍历lua表; for i=1, #(tb
阅读全文
Lua字符串和格式化转义码
摘要:字符串对象 1:字符串加法: (1)“str1” .. “str2” (2)字符串与数相加;2: 数字转字符串: local a = 10; a = “” .. a; tostring(number) 字符串转数字: tonumber(“字符串”) 3: 字符串接口: string.len(): 字
阅读全文
string.Join用法
摘要:原文链接:https://blog.csdn.net/useringo/article/details/51684370 String.Join 方法 (String, String[])在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串 string
阅读全文
帧同步和状态同步
摘要:差异 帧同步:客户端A将技能释放的请求发送给服务器,服务器广播这个操作的请求到所有的客户端当中,这些客户端在收到了请求以后开始让A释放技能,并且开始检测这个技能是否能命中B,如果B正好在A的攻击范围内,而且状态不是无敌等状态,是可以受到伤害的,这个时候,这些客户端就会把B的血量减少技能所产生的伤害值
阅读全文
lua字符串格式化多参用法
摘要:1.如图 unpack(arg)相当于可变参数的形式 这样%s会从arg里顺序取参
阅读全文
lua三目运算符逻辑盲点
摘要:lua种三目运算符后面结果不能跟false或者true 如: local isTrue = 2==2 and false or 2 lua只是模拟三目运算符,此时运算会 2==2 and false 那么就返回false false or 2 则返回2, 我们希望它返回的其实是false,那么此时只
阅读全文
NGUI(九)ProgressBar,HUDText(掉血/加血数值显示)、UIFollowTarge(血条跟随)
摘要:1.创建一个图片lifebar,添加BoxCollider和ProgressBar, 因为血条不需要交互,添加ProgressBar后删除BoxCollider,发现创建后其实时UISlider 2.创建子物体图片Sprite,锚点和lifebar完全对齐,把Sprite设置给UISlider的fo
阅读全文
NGUI(八)拖拽事件DragDropItem、背包案例
摘要:DragDropItem:拖拽事件 OnDragDropMove(Vector3 delta):拖拽移动时会调用 OnDragDropStart(): 拖拽开始时调用 OnDragDropRelease(GameObject surface): 拖拽结束时调用 surface: 放在哪个游戏物体上
阅读全文
NGUI(七) 拖拽功能UIDragObject,改变窗口大小DragResize,滚动条ScrollBar, 文本列表TextList,案例:聊天界面
摘要:1.创建图片Sprite,添加BoxCollider 2.手动在AddComponent添加UIDragObject脚本 3.把Sprite指定给DragObject的Target Target:要拖拽的目标 DragEffect:拖拽效果 None:没有任何影响 Momentum: 缓动效果 Mo
阅读全文
NGUI(六)InputField输入框,注册界面实例,添加人工验证脚本
摘要:1.创建一个图片背景Sprite,添加boxCollider 2.给具有BoxCollider的控件添加交互功能InputField 3.给Sprite添加文本控件Label,并拖入到InputField组件中 Label:输入文本框 StartingValue:初始值 SavedAs:? Acti
阅读全文
NGUI(五)技能CD冷却
摘要:1,创建技能按钮,在该按钮物体上创建图片作为子物体,图片格式设为360度填充,添加监听事件 2.挂载脚本,给button添加点击事件 using System.Collections; using System.Collections.Generic; using UnityEngine; publ
阅读全文
NGUI(四)制作一个菜单界面
摘要:1.拼UI,挂载对应控件 2.脚本GameSetting.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public enum GameGrade { ESAY, NORMAL, D
阅读全文
编辑器下获取选中的物体
摘要:1. [MenuItem("Tools/获取场景物体")] public static void GetGameOjbect() { GameObject go = UnityEditor.Selection.gameObjects[0]; Debug.Log(go.name); }
阅读全文
NGUI(三) 下拉框(弹出列表)PopupList、单选框Checkbox
摘要:PopupList:下拉框 1、创建Sprite 2、添加BoxCollider 3、Attach->PopupListScript 添加选项 Position:弹窗位置 Options: 选项属性 Alignment:对齐方式 OpenOn:打开方式 Localize:? OnTop:显示框是否在
阅读全文
NGUI(二) widget,Anchor锚点,Tween补间动画,Slider滑动器,滑动条变色,打字机TypewriterEffect
摘要:Widget Pivot:用来计算坐标值,设置中心点 黄色的点就是中心点, Depth:深度信息 Size:尺寸 Snap:把图片恢复成原始尺寸 Aspect:缩放方式 Free:任意方式改变宽高设置图片尺寸 BasedOnWidth:按照一定的宽高比通过改变宽度设置图片尺寸 BasedOnHeig
阅读全文