我有一组不同的MovieClip:
Pink Yellow Red
我创建了一个项目
item = new Pink(); item = new Red();
等等...
如何编写一个开关盒来查看我有哪个MovieClip?
switch (item) { case Pink: // do something break; case Red: // do something break; }
我只知道如何为字符串编写开关案例...
您可以将类名作为字符串获取并按照通常使用此方法的方式进行切换...
switch (getQualifiedClassName(item)) { case "Pink": // do something break; case "Red": // do something break; }
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#getQualifiedClassName()
简单回答:不要.
Pink
并且Red
都Color
其实如此做Color
有一个函数:
interface IColor { public function doSomething():void; }
并具有Pink
和Red
扩展功能:
class Pink extends MovieClip implements IColor { ... public override function doSomething():void { //different code } } class Red extends MovieClip implements IColor { ... public override function doSomething():void { //more different code } }
然后在你的代码中你可以调用:
item.doSomething();
对于这两种情况,它都会做正确的事情.