1.Unity生命周期10个;
Awake,OnEnable,Start,Update,LateUpdate,FixedUpdate,
OnGUI,OnDisable,OnDestroy,OnApplicationPause;
GameObject.Find();
GameObject.FindGameObjectWithTag
GameObject.FindObjectOfType<T>();查找组件
transform.GetChild(0);
gameObject.GetComponentInChildren<>();
gameObject.GetComponentInParent<>();
rotation,localRotation//四元数
eulerAngles,localEulerAngles//欧拉角
lossyScale,scale;
Input.GetKey();
2.Input获取鼠标滑动/键盘上下左右的方法
Input.GetAxis("Mouse X");
Input.GetAxis("Mouse Y");
Input.GetAxis("Horizontal");
Input.GetAxis("Vertical");
Box,Capsule,Circle,Polygon,Edge,(Composite)
2.碰撞:双方都有碰撞,主动碰撞方有刚体,都不勾选IsTrigger
if(agent.remaindingDistance<agent.stoppingDistance
&& agent.pathPending)
// GetComponent<MeshRender>().sharedMaterial//大家公用的材质
GetComponent<MeshRender>().material.color=;
GetComponent<MeshRender>().material.mainTexture=;
GetComponent<Image>().sprite=;
2.Camera
3.World
1280x720;
1920x1080
1136x640
2.EventSystem接口
3.EventTrigger
4.OnMouseXXX
b.延时执行,回收,销毁 <模拟多线程>;
c.等待www或者满足条件;
d.模拟update;
2.Yield返回值有哪些
a.www
b.0,null,
c.waitXXX
d.嵌套协程
2.OrderLayer
2.开闭:对扩展开放,对修改关闭。
3.里氏代换:子类可以扩展父类的功能,但不能改变父类原有的功能。
4.依赖倒转:高层和底层都依赖于抽象,细节依赖于抽象。
5.接口隔离:接口功能不能过多或过少。
6.组合复用:优先使用对象组合而不使用继承。
7.迪米特:最少知识,低耦合。
2.状态 <状态机>:抽象一个对象的行为为多个状态,
改变状态后对象行为发生变化(多行为对象,AI)
3.工厂:创建和使用的分离(独立多个对象的创建,方便使用)
4.外观:给多个复杂的子系统,独立一个门面 <外观>类,方便使用
5.观察者 <监听器>:一个对象发生改变,有1-n个对象同时发生改变 (多路广播,委托事件)
6.对象池:用一个池子存储不使用的对象,方便重复使用(频繁创建和销毁,减少GC)
2.www加载图片,声音,AssetBundle...//(http、https、ftp)
3.AssetDataBase.load()//编辑器脚本
Awake,OnEnable,Start,Update,LateUpdate,FixedUpdate,
OnGUI,OnDisable,OnDestroy,OnApplicationPause;
2.获取场景中游戏对象方法,3个;
GameObject.FindGameObjectWithTag
GameObject.FindObjectOfType<T>();查找组件
3.获取游戏对象的孩子
transform.Find("");transform.GetChild(0);
4.获取游戏对象孩子的组件
gameObject.GetComponent<>();gameObject.GetComponentInChildren<>();
gameObject.GetComponentInParent<>();
5.删除对象组件
Destroy(游戏对象/组件)6.向量的模,标准化,插值,距离
Vector3.magnitude,Normalized,Lerp,Distance;
扫描二维码关注公众号,回复:
1861036 查看本文章
7.transform组件的世界坐标系位置和本地坐标系位置(旋转,缩放)
position,localPositionrotation,localRotation//四元数
eulerAngles,localEulerAngles//欧拉角
lossyScale,scale;
8. 1.Input获取鼠标/键盘的点击方法,
Input.GetMouseButton()Input.GetKey();
2.Input获取鼠标滑动/键盘上下左右的方法
Input.GetAxis("Mouse X");
Input.GetAxis("Mouse Y");
Input.GetAxis("Horizontal");
Input.GetAxis("Vertical");
9.3D/2D物理碰撞器有几个
Box,Capsule,Sphere,Mesh,Terrain,Box,Capsule,Circle,Polygon,Edge,(Composite)
10.触发条件和碰撞条件(一句话)
1.触发:双方都有碰撞,一方有刚体,至少一方勾选IsTrigger2.碰撞:双方都有碰撞,主动碰撞方有刚体,都不勾选IsTrigger
11.如何判定导航寻路的Agent不在移动中(代码)
NavMeshAgent agent;if(agent.remaindingDistance<agent.stoppingDistance
&& agent.pathPending)
12.如何给一个cube修改纹理和颜色(代码)
// GetComponent<MeshRender>().material//自己独有的材质// GetComponent<MeshRender>().sharedMaterial//大家公用的材质
GetComponent<MeshRender>().material.color=;
GetComponent<MeshRender>().material.mainTexture=;
13.如何修改精灵渲染器的图片和Image的图片(代码)
GetComponent<SpriteRender>().sprite=;GetComponent<Image>().sprite=;
14.画布的渲染模式
1.Overlay2.Camera
3.World
15.画布最常用的比例和设计分辨率
16:91280x720;
1920x1080
1136x640
16.实现点击事件的几种方式
1.Button,(拖拽和动态添加)2.EventSystem接口
3.EventTrigger
4.OnMouseXXX
17. 1.协程的用处有哪些
a.定时器;b.延时执行,回收,销毁 <模拟多线程>;
c.等待www或者满足条件;
d.模拟update;
2.Yield返回值有哪些
a.www
b.0,null,
c.waitXXX
d.嵌套协程
18.如何修改2D精灵的层级
1.SortingLayer2.OrderLayer
19.设计原则:一句话描述
1.单一:一个"模块"功能单一。2.开闭:对扩展开放,对修改关闭。
3.里氏代换:子类可以扩展父类的功能,但不能改变父类原有的功能。
4.依赖倒转:高层和底层都依赖于抽象,细节依赖于抽象。
5.接口隔离:接口功能不能过多或过少。
6.组合复用:优先使用对象组合而不使用继承。
7.迪米特:最少知识,低耦合。
20.设计模式:一句话描述
1.单例:一个类只有一个实例,并且有一个全局访问点(管理器,控制器)2.状态 <状态机>:抽象一个对象的行为为多个状态,
改变状态后对象行为发生变化(多行为对象,AI)
3.工厂:创建和使用的分离(独立多个对象的创建,方便使用)
4.外观:给多个复杂的子系统,独立一个门面 <外观>类,方便使用
5.观察者 <监听器>:一个对象发生改变,有1-n个对象同时发生改变 (多路广播,委托事件)
6.对象池:用一个池子存储不使用的对象,方便重复使用(频繁创建和销毁,减少GC)
21.资源动态加载的方式
1.Resources.Load()//相对路径2.www加载图片,声音,AssetBundle...//(http、https、ftp)
3.AssetDataBase.load()//编辑器脚本