Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 是否有一种方法可以扩展已嵌入的类?(AS3)_Actionscript 3_Actionscript - Fatal编程技术网

Actionscript 3 是否有一种方法可以扩展已嵌入的类?(AS3)

Actionscript 3 是否有一种方法可以扩展已嵌入的类?(AS3),actionscript-3,actionscript,Actionscript 3,Actionscript,我有一个资产档案,里面有东西 [Embed(source='assets.swf', symbol='block')] public static const SYM_BLOCK:Class; 我希望扩展我的block symbols类以供以后使用,所以我尝试用很多方法来称呼它 例: 可能吗?我在任何地方都没有见过这样的例子 答复 答案很简单,一旦给我看了 但确实需要一些修补 [Embed(source='/assets/assets.swf#block')] // you need t

我有一个资产档案,里面有东西

[Embed(source='assets.swf', symbol='block')]
public static const SYM_BLOCK:Class;
我希望扩展我的block symbols类以供以后使用,所以我尝试用很多方法来称呼它

例:

可能吗?我在任何地方都没有见过这样的例子

答复 答案很简单,一旦给我看了

但确实需要一些修补

[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. 

谢谢大家。

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


不能在类声明中使用变量。例如:
不允许A类扩展myVar

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


不能在类声明中使用变量。例如:
不允许类A扩展myVar

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

package foo {

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

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

}

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

package foo {

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

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

}

如果您的问题是:如何扩展我在Flash中创建的符号,您应该进一步澄清这一点。您不能将其编译为.swc并将其包含在您的项目中吗?您使用的是什么环境?在这个环境中摆弄FlashDevelop/FlashCS5。用cs5制作符号,用flash开发编码。我知道如何扩展符号。我想知道是否可以扩展已嵌入的动态类。我的问题很好。如果你的问题是:我如何扩展我在Flash中创建的符号,你应该进一步澄清这一点。你不能将它编译为.swc并将其包含在你的项目中吗?您使用的是什么环境?在这个环境中摆弄FlashDevelop/FlashCS5。用cs5制作符号,用flash开发编码。我知道如何扩展符号。我想知道是否可以扩展已嵌入的动态类。我的问题很好,这就是我害怕的。我希望可能有一些语法技巧,比如as3加载了。或者也许我太累了,无法找到合适的入口。但是,唉。还有什么方法可以扩展外部swf的一个类?你应该将问题修改(或者最好添加一个新的或搜索一个现有的)到:我以后如何修改movieclip符号?快速谷歌搜索:这可以帮助你用AS3调整你的符号。这是我担心的。我希望可能有一些语法技巧,比如as3加载了。或者也许我太累了,无法找到合适的入口。但是,唉。还可以如何扩展外部swf的类?您应该将问题修改为(或者最好添加一个新的或搜索一个现有的问题):以后如何修改movieclip符号?快速谷歌搜索:这可以帮助您使用AS3调整符号。谢谢grapefrukt。我发现这里回答了同样的问题:谢谢葡萄柚。我发现这里回答了同样的问题:
[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. 
package foo {

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

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

}