51、 如何切换和加载场景:
SceneManager.activeSceneChange();当场景发生变换时(加载新的场景时)触发
SceneManager.LoadScene();加载方法(1,通过场景标号;2,通过场景名字;)
52、 关于ScenceManager的其他方法:
SceneManager.LoadScene();异步加载,可以用来设置显示加载的进度条
SceneManager.CreateScene();创建新场景(在编辑器模式下)
SceneManager.GetActionsScene();获取当前场景
SceneManager.GetSceneAt();用来获取指定的场景
SceneManager.GetSceneAtBuildIndex();用来获取指定场景(通过场景标号index)
SceneManager.sceneLoaded();新场景加载完成时触发SceneManager.sceneUnloaded();当场景由1转换到2 时,1会被卸载,当a被卸载完成时触发。
53、 射线检测之基本使用:
Physics.Raycast();射线检测,检测所发生的射线是否与其他物体的碰撞器发生碰撞,如果发生返回true,没有发生返回false
54、 射线检测之重载方法:
RaycastHit b;
1.Physics.Raycast(a,out b);a为发射的射线,b为碰撞到的物体,可根据b返回碰撞到的物体的一些属性。
2.Physics.Raycast(a,b,LayerMask.GetMask(“c”));a为发射的射线,b为射线的长度,c为想要检测到的物体的层,可设置多个层。
55、 关于2D射线检测和检测碰撞到所有物体:
Physics2D.Raycast();
Physics2D.RaycastAl();
56、 通过拖拽的方式监听UGUI事件
创建UI的控件,然后在选择控件下的On Value Change点击加号,然后将游戏物体拖拽给它即可。
57、 通过代码添加对UGUI控件的事件监听:
GameObject.Getponent().onClick.AddListener();可通过此代码给Button添加监听事件。
58、 跟鼠标相关的事件接口的实现:
IPointerDownHandler 鼠标按下。
IPointerClickHandler 鼠标点击(鼠标按下后抬起为一次点击)
IPointerUpHandler 鼠标抬起。
IpointerEnterHandler 鼠标移到物体上方。
IPointerExitHandler 鼠标移出
59、 跟拖拽相关的事件接口的实现:
IBeginDragHandler 开始拖拽
IDragHandler 拖拽中
IEndDragHandler 结束拖拽
IDropHandler 拖拽开始与结束都在同一物体上时触发
IScrollHandler 滑轮滑动时触发
60、 如何通过WWW下载图片:
支持 http:// file:// ftp://(ftp://支持匿名下载及不需要登陆账号或一些权限的)
61、 Touches触摸事件:
touches 用来获取当前触摸的数量,返回数组
GetTouch 用来获取触摸事件
62、 关于Camera组件的作用和一些属性介绍:
Camera.main();得到场景的第一个检测到的层为main Camera的相机
Camera.ScreenPointToRay();射线检测;
Camera.allCameras 返回场景中的所有摄像机以数组的形式
Camera.allCamerasCount 用来获取场景当中相机的数量
63、 使用Camera把屏幕坐标转换成射线
Debug.DrawLine(ray.origin,ray.origin+ray.direction*100)即将屏幕坐标转化成射线,并且射线随着鼠标的移动而移动,所以可以用来检测射线射到哪个物体上。
64、 角色控制器CharacterController的使用:
CharacterController.SimpleMove();简单移动
CharacterController.isGrounded 判断物体是否在地面上
CharacterController.move();
65、 Mesh的设置:
Mesh是一个网格,用来控制这个模型的外观,
通过代码修改一个模型的外观:
66、 Material材质类:
a=GetComponent().Material 获取材质的方法
67、 Animator简介:
Animator.speed 修改动画状态机的速度
SetBool();
SetFloat();
SetTarget();目标
SetTrigger();触发器
68、 Unity API方法变更1:
GetComponent()代替Rigidbody2D
GetComponent()代替Rigidbody
GetComponent()代替audio
69、 Unity API方法变更2-粒子系统变更:
Unity 5.3:
ParticleSystem main = smokePuff.GetComponent();
main.startColor
Unity 5.5+:
ParticleSystem.MainModule main = smokePuff.GetComponent().main;
main.startColor
70、 Unity API方法变更3-场景切换相关API变更:
SceneManagement 代替 Application
OnLevelWasLoaded() 在 Unity 5中被弃用了。
2D/3D sound 如何设置2D/3D声音