1. 单例基类的设计,
对泛型T的约束
where T:new()
1. 单例基类的设计,
对泛型T的约束
where T:new()
1. 通过代码生成AB包配置表,表中记录着所有资源所在的包名以及与其它包体的依赖关系。
2. 然后优化配置表:把一些永远不可能去动态加载的资源从配置表中移除,只记录可能会动态加载的东西。
3.通过一个List来过滤。
打包时剔除冗余
删除无用的包名(改名或者没有使用)
设置AB包 --> 打包 -->清除AB包设置
1.编辑器扩展时,要使用[MneuItem("...")]添加到工具栏中的前提是,必须写的是一个静态方法。
2.API打包:
buildPipeline.buildAssetBundels(...,..,.EditorUserBuildSettings)
就近原则
程序集之间的引用关系
拖拽指定的方式 和 resource.load的方式都不是推荐的资源加载方式,只有小规模项目时可以使用。
大项目推荐用 、assetBundel加载方式
SerializeField 特性
temp.AddComponent(type);
FindObjectofType<>获取场景中类对象
DontDestroyOnLoad(gameObject)不销毁对象
Destroy(gameObject)销毁游戏对象
单例一般要用 C# class,mono可能会有问题
Image 的Raycast Target属性不需要检测射线就设置成false
添加Editor文件夹u3d打包会不打包这个文件夹里的内容
AssetPostprocessor负责资源导入操作
TextureImporter importer = (TextureImporter) assetImporter;
importer.textureType = TextureImporterType.Sprite;
//导入图片资源自动为精灵类型
Read/Write Enabled true会加大内存在用量
Generate Mip Maps true会自动生成低像素图片,3d游戏中会有好处,2d游戏不建议使用,打包会出现图片模糊的现象
public void SwitchMuteState()
{
}
public void PlayClip(AudioClip clip)
public void LoadData()
{
lv = PlayerPrefs.GetInt("lv",1);
w = 20+(lv*3)
h = Random.Range(9,12);
}
public void SaveData()
{
}
public ToolType toolType;
private void OnMouseUp()
{
switch(toolType)[
case
}
public void OnHoeSelected(bool isOn)
{
GameManager.Instance
}
学到这里时,已按FSM和MVC架构,实现所有游戏逻辑。
public void OnLevelButtonClick(){
if(isHide == false){
isHide = true;;
GetComponent<RectTransform>().DOAnchorPosY(-7,0.5f);
}else{
isHide = false;
GetComponent<RectTransform>().DOAnchorPosY(45,0.5f);
}
}