04
一、刚体组件Rigibody(继承Component)(课时47—49)
1、变量
·position 通过刚体组件控制物体运动,修改物体位置(比直接通过Transftom.position更快,性能更高)持续控制物体运动,推荐MovePosition
·rotation通过刚体控制物体旋转(比直接通过Transftom.rotation更快,性能更高,持续性的用Moverotation)
2、静态方法
·MovePosition(Vector3.position);(物体移动更平滑)
·Moverotation
·AddForce
playerRgd.AddForce(Vector3.forwardforce)
playerRgd.position=playerRgd.transform.position+Vector3.fprwardTime.deltaTime10
playerRgd.MovePosition(playerRgd.transform.position+Vector3.fprwardTime.deltaTime*10)
二、camera类(课时50)
1、通过camera把屏幕上的点转换成射线,进行射线检测
ScreenPointToRay
三、Application(课时51、52)
1、静态变量
跟路径相关的
·dataPath 包含游戏数据文件夹的路径(只读)
·streamingAssetsPath
·persistentDathPath
·temporaryCathePath
·companyName file->Build Settings
·version 得到unity开发应用的版本
2、方法
·OpenURL 可以打开一个网站
·Quit 退出游戏(在编辑器模式下推出不了。编辑器模式下把isPlaying设置成flase就可以退出了。)
四、场景(课时53、54)
1、如何切换加载场景
列表里添加场景
(1)加载场景的控制SceneManager
(2)LoadSceneAsync 获得加载场景的一个进度
(3)指定一个名字
2、SceneManager::
(1)静态变量:
sceneCount:当前加载场景的数量
sceneCountInBuildSettings:这个场景有多少个
(2)
静态方法
·CreatScene创建新场景(在编辑器模式下)
·GetActiveScene 用来获得当前场景(各种信息)
·GetSceneAt 用来获取指定的场景
·GetSceneByBuildIndex 用来获取指定场景通过场景标号index)
·SetActiveScene
·GetActiveScene:得到当前场景的一些基本信息
·LoadSceneAsync 异步加载场景,可以用来设置显示加载的进度条
五、射线检测(课时57—59)
1、Physics静态方法:
·Raycast(只会检测到碰撞的第一个物体) RaycastAll(可以检测到碰撞到的所有物体)
检测物体发出的射线有没有碰撞到其他物体
2、射线检测的重载方法
(1)设置了射线的长度
(2)可以检测出射线碰撞的物体以及碰撞到的位置坐标
(3)可以指定射线和那一层级的物体可以发生碰撞
3、2D射线检测(与3D差不多)
六、UGUI事件监听(课时60、61)
1、拖拽
2、代码添加
3、通过实现接口
七、跟拖拽相关的事件接口(课时63)
·IBeginDragHandler
·IDragHandler
·IEndDragHandler
·IDropHandler
八、通过www保存下载一张图片(课时64)
九、触摸事件(课时65)
Input.GetTouch
获取每个手指的事件
十、Camera组件的作用和一些属性(课时66、67)
1、属性
调节视野远近
视野范围
视野类型
正交和透视
调节背景
2、静态变量
·allCameras :可以取得场景中所有camera
·allCamerasCount:获得当前场景中camera数量
·current:获取到当前的camera
·main:获得当前场景标签为main的camera
3、公有方法
ScreenPointToRay
利用camera把屏幕坐标转换成射线
十一、(课时68—74)
1、角色控制器CharacterController
(1)变量
·center:用来获取自身位置
·height:用来获取自身高度
·isGrounded:用来判断自身是否位于地面上
(2)方法
·Move:需要乘一个时间间隔
·SimpleMove:直接给予一个速度