很多时候,软件技术的革新决定了软件版本的升级速度,当你对现版软件的全新界面而感慨时光荏苒时其Update似乎已研发成型,Unity5正式版的发布日程渐近之时,官网也将这个即将上市的宠儿进行了一番介绍,我们看到了Unity5的种种好处过后应该也要去关注其对我们以前构建的软件的更新所带来的影响,官网论坛指出Unity5将不再支持AddComponent(string)方法动态加载脚本,这是件好事,当然我们所关心的是官方的替代方案,通过下面的代码,我们能感触得到其中的变化:// each class declared in its own file
namespace N1
{
class C1 : MonoBehaviour { }
}
class C2 : MonoBehaviour { }
class MyObj : MonoBehaviour
{
public void Start()
{
AddComponent(“C1”); // only the class name, no namespace information....
AddComponent(“C2”);
}
}
在新版中的写法可以改变为如下代码:
// C1 / C2 declared as before.
class MyObj : MonoBehaviour
{
public void Start()
{
AddComponent< N1.C1>();
AddComponent< C2>();
}
}
//注:AddComponent< T>() // for C#
//AddComponent.< T>() // for UnityScript (js)
//AddComponent[of T]() //for boo
Unity5对其类型进行了更严格的管理,使用System.Type替换掉string避免了可能的类库重叠问题,对于在以前项目中过多使用AddComponent动态添加脚本的开发者,不用再为类库冲突而纠结了吧。