1.UGUI注意事项 1.GameObject.SetActive 尽量少使用。因为在OnEnable 和OnDisenable 都会重新设置一遍所有的脏标志 2.平铺类型的操作不要用Image 要用Rawimage 3. Raycast 不用就关掉,Unity 默认是开启的,但是有很多UI不需要接收点击事件 4. UI合批需要注意材质是否一样,图片ID是否一样 5. UI 上的的Color属性 不建议直接修改,修改会导致重绘mesh,建议修改材质球颜色不会出现这个问题 2.结构体和类区别 1.类是引用类型,结构体是值类型。 2.结构体可以不用new创建实例对象,类必须用new来创建实例对象。 3.结构体不能继承类或结构体,可以实现接口;类可以继承类,不能继承结构体,可以实现接口。 4.结构不能声明默认的构造函数,结构体的构造函数必须对所有字段进行赋值。 3.C#的Dictionary 1.Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值) 2. 键必须是唯一的,而值不需要唯一的 3. 键和值都可以是任何类型(比如:string, int, 自定义类型,等等) 4.通过一个键读取一个值的时间是接近O(1) 4.栈和堆的区别 1.栈由系统自动分配,而堆是认为开辟的 2.栈获得的空间比较小,而堆获得的空间比较大 3.栈由系统分配,速度比较快,而堆一般速度比较慢 4.栈是连续的空间,而堆是不连续的空间 5.Navigation 创建NavMesh导航网格:在创建了所有的组件之后烘焙出运行时导航系统需要的数据,选中需要导航的网格,在static中勾选Navigation,设置属性,Bake。 6.红黑树 二叉查找树(BST)具备什么特性呢? 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 为了解决二叉查找树多次插入新结点导致的不平衡,红黑树应运而生。 红黑树除了二叉查找树的特性外,还附加了: 1.结点是红色或黑色。 2.根结点是黑色。 3.每个叶子结点都是黑色的空结点(NIL结点)。 4 每个红色结点的两个子结点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色结点) 5.从任一结点到其每个叶子的所有路径都包含相同数目的黑色结点。 从跟到叶子的最长路径不会超过最短路径的2倍。 再插入时候,为了保持红黑树始终是红黑树,有变色、左旋、右旋三种调整方法。 7.Unity生命周期 (1) Reset() 组件重设为默认值时(只用于编辑状态) (2)Awake() 脚本组件载入时 (调用一次) (3)OnEnable() 是在游戏对象可以调用时调用 (4) Start()第一个Update发生之前 (调用一次) (5)FixedUpdate() 固定时间调用,常用于物理相关的计算,比如对Rigidbody的操作 (6)Update()大部分游戏行为代码被执行的地方,除了物理代码 (7)LateUpdate() 每帧Update调用之后 (8)OnGUI() 绘制GUI时调用 (9)OnDisable() 当对象设置为不可用时 (10)OnDestroy()组件销毁时调用
|