作者yhn0tgb60 (呦厚厚)
看板Flash
标题[问题] 如何方便的 new 新物件 ???
时间Sun Jul 11 01:05:19 2010
就是阿
我会从 资料库 那得到一个 Array
而那个 Array 里面是很多笔 String
而每笔 String 都表示要 new 不同的物件
而目前的作法就是
var _array:Array=[ 很多笔String ];
for( var i in _array )
{
switch(_array[i])
{
case('aaa'):
{
var _mc:MovieClip = new aaa();
}
case('bbb'):
{
var _mc:MovieClip = new bbb();
}
case('ccc'):
{
var _mc:MovieClip = new ccc();
}
.
.
.
.
}
}
而因为物件的种类有上百种
那我的 case() 就要把上百种
这样很没效率
而且我已经特地把 String 的内容 设定跟物件的名称一样了
有办法直接用 String 的名称来 new 物件吗 ???
例如像这样
var _array:Array = [ 很多笔String ];
for( var i in _array )
{
var _mc:MovieClip = new _array[i]();
}
的办法解决吗 ???
另外就是假如要像上面的方法那样做一大串的 case
想请问用 switch 的效能比较好 ??? 还是用 if else 的效能比较好 ???
谢谢了 ^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.155.241
1F:推 kawasumimai:好像有看过new MovieClip(xxxxxx(String))的写法 07/11 01:10
2F:→ cjcat2266:new Class(getDefinitionByName(i))(); 07/11 01:10
3F:→ cjcat2266:i为qualified class name 07/11 01:10