1.UI框架: 管理场景中所有的面板 控制面板之间的跳转
2.单例模式核心:1.定义静态对象,在外界访问,在内部构造;2.构造方式私有化
3.字符串强转枚举:(enumType)System.Enum.Parse(typeof(UIPanelType),value);
4.实现ISerializationCallbackReceiver接口 序列化:对象转文本 反序列化:文本转对象
OnAfterDeserialize()反序列化后执行
OnBeforeSerialize() 序列化前执行
5.C#语法中的扩展方法
1)扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。
2)扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。
3)创建静态类->写需要扩展的静态方法->以要扩展的类型作为第一个参数并要在前面加上this
4) public static class EString
{
/// <summary>
/// 将字符串转换为Int
/// </summary>
/// <param name="t"></param>
/// <returns>当转换失败时返回0</returns>
public static int ToInt(this string t)
{
int id;
int.TryParse(t, out id);//这里当转换失败时返回的id为0
return id;
}
}
string s="123";
int id=s.ToInt();
5)http://www.cnblogs.com/suger/archive/2012/05/13/2498248.html
6.Unity中UI面板管理适合使用Stack。
7.CanvasGroup组件可以控制改对象下所有的射线检测的开关,可以控制对象的隐藏(alpha设为0)
8.DontDestroyOnLoad 切换场景时不摧毁,但是要处理来回切换是产生多个相同游戏对象的问题
2.单例模式核心:1.定义静态对象,在外界访问,在内部构造;2.构造方式私有化
3.字符串强转枚举:(enumType)System.Enum.Parse(typeof(UIPanelType),value);
4.实现ISerializationCallbackReceiver接口 序列化:对象转文本 反序列化:文本转对象
OnAfterDeserialize()反序列化后执行
OnBeforeSerialize() 序列化前执行
5.C#语法中的扩展方法
1)扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。
2)扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。
3)创建静态类->写需要扩展的静态方法->以要扩展的类型作为第一个参数并要在前面加上this
4) public static class EString
{
/// <summary>
/// 将字符串转换为Int
/// </summary>
/// <param name="t"></param>
/// <returns>当转换失败时返回0</returns>
public static int ToInt(this string t)
{
int id;
int.TryParse(t, out id);//这里当转换失败时返回的id为0
return id;
}
}
string s="123";
int id=s.ToInt();
5)http://www.cnblogs.com/suger/archive/2012/05/13/2498248.html
6.Unity中UI面板管理适合使用Stack。
7.CanvasGroup组件可以控制改对象下所有的射线检测的开关,可以控制对象的隐藏(alpha设为0)
8.DontDestroyOnLoad 切换场景时不摧毁,但是要处理来回切换是产生多个相同游戏对象的问题