簡體   English   中英

動態加載圖像的AS3 Flex不允許圖像的ID

[英]AS3 Flex dynamically loading images does not allow images' id

我需要動態加載一些圖像(4-6),以便通過單擊特定圖像用戶可以調用特定操作。 嵌入圖像可以解決該問題,但要以文件大小為代價。 如果我動態加載它們,它們將丟失其ID。

<comps:ExercisesScroller id="scroller" x="300" y="100"
        ex1="@Embed(source='assets/Exerc_1.png')" 
        ex2="@Embed(source='assets/Exerc_2.png')"/>

以此類推。 但是在CDATA中實例化它不起作用:

import components.ExercisesSCroller;
private var custScroller:ExercisesScroller;
private function init():void {
    custScroller = new ExercisesScroller();
    this.addElement(custScroller);
    custScroller.ex1 = "@Embed(source='assets/Exerc_1.png')";
}

我認為這應該是一件微不足道的任務,但到目前為止我還無法解決。

您不能以這種方式使用@Embed。 init()函數的最后一行應該是這樣的:

custScroller.ex1.source = "http://my.server.com/images/theRealImage.png";

這可能需要一些調整,因為我不知道您的ExercisesScroller組件的內部結構是什么樣。 例如,您可能只需要將URL作為字符串屬性,並在組件內部添加代碼以將更改應用於內部圖像。

編輯 :順便說一句,我很困惑為什么上面的代碼沒有使用URL來引用替換圖像。 就像您顯示的那樣,相對路徑假定文件已經是本地文件,但是您說在確定用戶需要它們之前,不希望將它們下載到最終用戶的計算機上。 提供這樣的URL可達到所需的結果:只有在更改圖像的source屬性后,圖像才會下載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM