补充:
一射线检测:为了检测射线在发射过程中是否碰撞到其他游戏物体
1)Physics-Raycast:
设置一个地面,保存场景。再设置一个人物Player以及数个敌人。
新建Player脚本并运行进行射线检测:
2)重载方法
1>设置检测距离:
2>检测碰撞到了哪个游戏物体并取得位置:
3>设置只与到指定的层(enemy1)的游戏物体发生碰撞:
关于2D射线检测:和3D差不多。
二 UGUI事件监听:
1)拖拽:可以直接进行拖拽
Button(按下)控件:可以设置触发的事件
Silder(滑动)控件
Dropdown(下拉列表)控件
Togger(开关)控件
2)代码添加:
新建空物体UIEventManger,并添加一个UIEventManger脚本
3)通过实现接口:
Manaul-Scripting-Event System-Supported Events:
添加Image控件,新建UIEventManager2脚本
1>鼠标按下:
其他:
2>跟拖拽有关
IBeginDragHandler:开始拖拽(一次) IDragHandler:拖拽中
IEndDragHandler:拖拽结束(一次) IDragHandler:(一次)
三通过WWW下载图片
支持以下四种:http:// https:// file:// ftp://
新建WWWTest脚本:
四Touchs触摸事件:主要在手机上使用Input-touches
新建TouchTest脚本
五CharacherController角色控制器
center:获取自身位置
Height:自身高度
isGrounded:用来判断自身是否在地面上
OnControllerColiderHit:当移动时,角色控制器碰撞到别的控制器时会触发
新建一个角色,添加CharacherController,新建PlayerCC脚本
六Mesh:网格,用来控制模型的外观
新建MeshAndMat脚本:
Material材质:
实现颜色的渐变:
Animator类:和动画系统有关
speed速度 AnimatorStateInfo获取当前的状态的信息
七Unity API方法变更
1)GetComponent()代替rigidbody2D
GetComponent()代替rigidbody
GetComponent()代替audio
2)粒子系统变更:
5.3版本
ParticleSystem main=smokePuff.GetComponent();
Main.startColor=gameObject.GetComponent().color;
5.5+版本
ParticleSystem.MainNodule=smokePuff.GetComponent().main;
Main.startColor=gameObject.GetComponent().color;
3)场景切换相关API变更:
SceneManagement代替Application
OnLevelWasLoaded在Unity5被弃用了,用sceneLoaded代替
4)声音:
可以在Audio Source里Spatial Blend里设置2D和3D声音或者混合声音。