Flex AS3: динамическое создание графики с помощью BitmapImage Child - PullRequest
1 голос
/ 11 декабря 2010

Я трахал сеть, пытаясь найти решение, но все, кажется, сосредоточено на 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>

Заранее спасибо за любые идеи.

Пол

Ответы [ 2 ]

4 голосов
/ 11 декабря 2010

в AS3 все по-другому, вам нужно определить тип класса переменной, как показано ниже.

[Embed("custom-case.png")]
 private var someImage:Class;
 ...
 bmi.source=someImage;
0 голосов
/ 02 февраля 2015

Чтобы прокомментировать комментарий / вопрос Шрути (я не могу оставить комментарий, поскольку моя текущая репутация недостаточна):

Требование к динамическому обновлению изображений с помощью 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')"/>
...