2011-05-16 82 views
0

我必須使用actionscript來實現帶有圖標的菜單。 我創建XML數據提供程序,並設置如何將Loader對象返回爲類

menu = Menu.createMenu(null, dataArray, true); 
menu.iconFunction = iconFunction; 

到這裏一切都很好,我的菜單呈現,但只有標籤。 創建iconFunction如下:

private function iconFunction(item:Object):Class 
{ 
    var st:Loader = new Loader(); 
    st.load(new URLRequest(item.icon)); 
    return ?; 
} 

,這裏是我的問題:我怎麼回我loader object as Class? 我googling這個小時,並找不到相關的東西。

非常感謝!

回答

0

您可以使用Ben Stucki's solution的位置。

+0

試過 - 出於某種原因不起作用。我不使用mxml - 所有內容都是用actionscript構建的。我看到圖像加載,但它沒有在菜單中繪製。 – 2011-05-17 05:04:06

+0

如果不更改,則不能使用此代碼。只要將它用作模式並根據您的任務調整這些原則即可。 – Constantiner 2011-05-17 05:52:27

+0

謝謝,最後我想出瞭如何爲我的需求定製此代碼,現在它正在工作。 – 2011-06-03 12:37:05

0

這個例子有幫助嗎?

package { 

import flash.display.Sprite; 
import flash.utils.ByteArray; 
import flash.display.Loader; 
import flash.net.URLLoader; 
import flash.net.URLRequest; 
import flash.net.URLLoaderDataFormat; 
import flash.geom.Rectangle; 
import flash.events.Event; 

public class Main extends Sprite { 

    private var urlLoader:URLLoader = new URLLoader(); 

    public function Main() { 
     urlLoader.dataFormat = URLLoaderDataFormat.BINARY; 
     urlLoader.load(new URLRequest("http://server.com/image.jpg")); 

     urlLoader.addEventListener(Event.COMPLETE, completeHandler); 
    } 

    private function completeHandler(event:Event):void { 
     var loader:Loader = new Loader(); 
     loader.loadBytes(urlLoader.data); 
     addChild(loader); 
    } 
} 

}

+0

感謝您的幫助。我真正需要的是如何在菜單控件中設置圖標的示例,而數據提供程序是對象數組? – 2011-05-16 17:29:40

+0

去http://blog.benstucki.net/?p=42,該實用程序加載遠程資產(圖像)作爲類 – Satish 2011-05-16 17:34:50

+0

感謝,似乎是有希望的,但它不適用於菜單項。可能適用於按鈕等,但不適用於菜單項。你有沒有一個mx:菜單的例子,這是在ActionScript中創建的,並使用圖標?但動態加載它們? – 2011-05-17 05:06:19