版本管理只需要把Assets目录,ProjectSettings目录以及Package目录上传SVN即可
OnEnable:当挂载的脚本或游戏对象启用的时候执行(根据需求可反复调用)
OnDisable:当挂载的脚本或游戏对象禁用的时候执行(根据需求可反复调用)
OnDestory:当游戏对象销毁的时候执行(执行一次)
Application.isMobilePlatform//当前的运行平台是否是一个已知的移动平台。
目前,如果应用程序在Android,iOS或WSA上运行,则返回true。
注意:在通用Windows平台上,平板电脑被视为台式机,因此仅当在电话和物联网设备系列设备上运行时,此属性才会返回true。
编辑器拓展API:[MenuItem("Assets(Project视图拓展)/MyTools/Tools 1",false,2)]//第三个参数表示排序,数值越小越靠前
Selection.activeObject//右键所选游戏对象
在方法前面添加[InitializeOnLoadMethod]表示此方法会在脚本每次编译完成后首先调用
右键选中脚本点击Find Refrences in Scene可以查找脚本挂载在哪个游戏对象上。
在Scene视图中选中游戏对象很容易选到子物体,此时可以给游戏对象绑定一个[SelectionBase]标签。
利用反射机制可以访问私有成员变量,私有成员方法,私有静态变量和静态方法。
资源环形引用的意思就是A引用B,B引用C,C引用A。这是一件非常恐怖的情况,平时开发中一定要避免!
Editor目录下的代码会被系统认为是编译模式代码,打包后会被自动剥离。
Application.targetFrameRate = 30f //强制设置FPS最高30帧。
Awake()适合做初始化,Start()适合安全的访问其他脚本数据。
避免在脚本中写入空方法。
如果Public属性不想在面板中显示的话,可以设置[HideInInspector]标签。
在编译器下,每次修改完代码后,就会自动开始编译,最终所有的代码将编译成DLL文件,DLL最终编译在Project/Library/ScriptAssemblies目录下,一共有四个DLL文件。
Plugins目录下的脚本将优先编译,然后才编译其他目录,最后会编译Editor目录下的脚本。
项目一旦发布后,一定要把输出日志给关闭掉,因为它会有一些额外的开销。