有没有办法扩展已嵌入的类? (AS3)

时间:2011-07-30 09:43:22

标签: actionscript-3 actionscript

我有一个嵌入内容的资源文件,

[Embed(source='assets.swf', symbol='block')]
public static const SYM_BLOCK:Class;

我希望扩展我的块符号类以供以后使用,所以我试着把它称为很多方法。

EX:

package isoscreen 
{
    import assets.Assets;

    public class isoBlock extends SYM_BLOCK
    {

...

    import assets.Assets.SYM_BLOCK;

    public class isoBlock extends SYM_BLOCK
    {

...

    import assets.Assets;

    public class isoBlock extends Assets.SYM_BLOCK
    {

...

有可能吗?我在任何地方都没有看到它的任何例子。

ANSWER

答案很简单,曾经向我展示过。 =)

但确实需要一些修补。

[Embed(source='/assets/assets.swf#block')] // you need to properly change the linkage to the file if your assets are in their own folder (also I found # as a shorthand to get to the symbol inside of the swf)
public class isoBlock extends Sprite
{
    public var top, left, right; //You need to define each symbol within the symbol as well, or it will fail to create. 

谢谢大家。

2 个答案:

答案 0 :(得分:3)

符号与类不完全相同,因此您无法扩展它。但是,您可以将符号链接到您的班级,就像在Flash创作中一样。

package foo {

    [Embed(source='assets.swf', symbol='block')]

    public class BlockClass extends MovieClip {
        // if your symbol only has one frame, extend Sprite instead
    }

}

答案 1 :(得分:1)

由于不同的原因,你不能这样做。最重要的是:

您不能在类声明中使用变量。例如:class A extends myVar是不允许的。