Unity进阶的三道坎:
第一,API的积累
第二,shader编程
第三,综合能力,包括架构设计、UI交互、模型制作等
本篇开始进行Unity API的知识积累整理,新手入门,如有BUG,望各位高手指正:
概览,初步涉及Unity API中的14个类:
1、Application类
2、Camera类
3、GameObject类
4、HideFlags类
5、Mathf类
6、Matrix4x4类
7、Object类
8、Quaternion类
9、Random类
10、Rigidbody类
11、Time类
12、Transform类
13、Vector2类
14、Vector3类
一、Application类
首先,在理解以封装、继承、多态为三大特征的面向对象编程思想,类的概念基础上。
明白这些类中可涉及的属性和方法,又可分为静态和实例。
至于静态和实例区别,根据实际情况有不同的应用取舍,以我理解的来说,
实例是随面向对象编程出现而出现的,每个对象的属性各不相同,则可用实例,而公共不变的属性,则可以静态
譬如,人的年龄、性别等属性各异,可实例,而自然界人的界门纲目科属种划分,可用静态。
Application类只有静态属性和方法,可直接调用,用来控制程序的运行时数据,如场景管理、数据加载等。
A、静态属性:
1、dataPath
基本语法:public static string dataPath{ get; } //返回数据文件相对路径(只读)
类似的,
PersistentDataPath //返回持久化数据存储目录,持久化就是一些不变的数据
StreamingAssetsPath //返回流数据的缓存目录,适合外部数据文件的路径
temporaryCachePath //返回临时数据缓存目录
用途:游戏在不同平台上运行时,数据返回的路径是不一样的,所以可以通过此方法存放需要读取的外部数据文件到指定路径,避免跨平台读取错误的问题。
2、LoadedLevel
基本语法:public static int LoadedLevel{ get; } //返回当前程序最后加载的scene索引值(只读)
类似的,
loadedlevelName //返回场景名称
isloadingLevel //是否正在被加载
lelvelCount //返回被加载的场景数量
platform //返回运行平台
isPlaying //是否处于运行状态
isEditor //是否处于编辑状态
用途:BUG调试可以使用吧
B、静态方法:
1、CaptureScreenshot
基本语法:public static void CaptureScreenshot ( string filename ) / ( string filename, int superSize )
//参数为文件名称,放大系数;默认将当前游戏画面截取为PNG格式保存在根目录下保存
//web模式下无效,系数小于0时,按默认值0处理,即不放大和缩小
//在最新的unity5.x版本里,CaptureScreenshot移动了 ScreenCapture类中
2、LoadLevelAdditiveAsync
基本语法:public static AsyncOperation LoadLevelAdditiveAsync ( int index ) / ( string levelName )
// index场景索引值和场景名称可在File>Build Settings中查看
//进专业版可用,后台异步加载场景到当前场景
3、RegisterLogCallback
基本语法:public static void RegisterLogCallback ( Application.logCallback handler )
//handler是委托方法的名字,用于注册一个委托来调用日志信息
//日志信息可以用来调试的时候看吧...