1

我已经在网上寻找解决方案,但一切似乎都以 mxml 为中心。我想要的是动态创建一系列图形对象,每个对象都有一个子 BitmapImage。但是,这似乎不起作用:

   var bmi:BitmapImage = new BitmapImage();
   bmi.source="@Embed('custom-case.png')";
   var gr:Graphic = new Graphic( );
   gr.addElement( bmi );
   gr.x = 50;
   gr.y = 50;
   this.addElement( gr );

然而,这确实:

   <s:Graphic x="250" y="250">
    <s:BitmapImage source="@Embed('custom-case.png')">
    </s:BitmapImage>
   </s:Graphic>

提前感谢您的任何想法。

保罗

4

2 回答 2

4

它在 AS3 中完全不同,您必须定义一个变量类类型,如下所示。

[Embed("custom-case.png")]
 private var someImage:Class;
 ...
 bmi.source=someImage;
于 2010-12-11T03:35:27.357 回答
0

跟进 Shruti 的评论/问题(由于我目前的声誉不足,我无法发表评论):

使用 mxml 动态更新图像的要求与原始答案所示的相同,即您可能想要动态更改为的任何图像都必须预先嵌入到您的 mxml 中:

[Embed(source="image.png")] private var theImage:Class;

稍后可用于更新图像源,如下所示:

<fx:Script>
    <![CDATA[           
    [Embed(source="image.png")] private var theImage:Class;

    private function updateImage():void {
        image.source = theImage;
    }
    ]]>
</fx:Script>

<s:BitmapImage id="image" source="@Embed('defaultImage.png')"/>
于 2015-02-02T18:49:47.123 回答