这个歌很好听啊。。。歌曲名称叫啥啊?
这个歌很好听啊。。。歌曲名称叫啥啊?
Constant Pixel Size 文字、图片会固定大小,不会随着屏幕界面的放大缩小而改变
Scale With Screen Size 文字、图片会随者游戏屏幕的大小而改变
Match Height改为1 随着高度的变化而变化。
Extension文件夹:存放所有的扩展类
//这样在字典中取值比较麻烦
string myValue;
dic.TryGetValue(key,out myValue);
=========为内置的字典类扩展方法===========
using System.Collections;
using System.Collections.Generic;
public static class DictionaryExtension{
// 尝试根据key得到value,得到了返回value,没有得到直接返回null
public static Tvalue TryGet<Tkey,Tvalue>(this Dictionary<Tkey,Tvalue> dict,Tkey key){
Tvalue mvalue;
dict.TryGetValue(key,out mvalue);
return mvalue;
}
}
// 使用扩展方法
string result = myDic.TryGet("keyStr");
using system;
public enum MyEnum
{
TypeOne,
TypeTwo,
TypeThree,
TypeFour
}
[Serializable]
public class MyJsonData : ISerializationCallbackReceiver
{
[NonSerialized]
public MyEnum myEnum;
public string typeString;
/// <summary>
/// 反序列化之后调用此方法
/// 反序列化:文本信息 -> 对象
/// </summary>
public void OnAfterDeserialize()
{
myEnum = (MyEnum)Enum.Parse(typeof(MyEnum), typeString);
}
/// <summary>
/// 序列化之前调用此方法
/// 序列化:对象 -> 文本信息
/// </summary>
public void OnBeforeSerialize()
{
}
}
MyJsonData jsonData = JsonUtility.FromJson<MyJsonData>("{\"typeString\":\"TypeThree\"}");
print(jsonData.myEnum.ToString());
单例核心
1.定义一个静态对象 在外部访问,内部实现
2.构造方法私有化
确保只有一个实例
复习:怎么实现单例模式?
UIPaneltype.cs
枚举类型,记录panel类型
UIPaneltype.json
描述加载路径
等比例缩小 shift+拖动
鸡肋
本节课后半部分代码可简写成:
if (basePanel==null)
{
GameObject go = GameObject.Instantiate(Resources.Load<GameObject>(panelPathDic[uiPanelType]), canvasTransform);
basePanel = go.GetComponent<BasePanel>();
panelDic.Add(uiPanelType,basePanel);
}
return basePanel;
1.解析json成一个list
2.增加到字典
单例模式
private static UIManager _instance;
public static UIManager Instance{
get{
if (_instance == null)
_instance = new UIManager();
return _instance;
}
}
4:35