簡體   English   中英

as3 如何加載“圖像”或“電影”並訪問其屬性,如 InstanceName 和寬度等

[英]as3 how do I load an “image” or “movie” and access its properties like InstanceName and width etc

as2 轉換為 as3

我想:

  1. 加載電影或圖像
  2. 能夠有一個加載欄(這現在不是必需的,除非很容易)
  3. 要知道它何時加載
  4. 訪問它的屬性,如實例名稱和 xPos 和 yPos,以便我可以根據命令對其進行補間。

謝謝你的幫助。

-埃德

這在純 ActionScript 或 Flex 之間會有所不同。

也許您正在尋找類似 Adobe 示例的內容?

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html

我已從 Adobe 粘貼示例並添加到 completeHandler,設置 position 然后從外部加載的 SWF 訪問屬性。

package
{
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.URLRequest;

    public class LoaderExample extends Sprite
    {
        private var url:String = "http://www.jasonsturges.com/js.swf";

        public function LoaderExample()
        {
            var loader:Loader = new Loader();
            configureListeners(loader.contentLoaderInfo);
            loader.addEventListener(MouseEvent.CLICK, clickHandler);

            var request:URLRequest = new URLRequest(url);
            loader.load(request);

            addChild(loader);
        }

        private function configureListeners(dispatcher:IEventDispatcher):void
        {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            dispatcher.addEventListener(Event.INIT, initHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(Event.UNLOAD, unLoadHandler);
        }

        private function completeHandler(event:Event):void
        {
            trace("completeHandler: " + event);

            var loader:Loader = event.target.loader as Loader;
            loader.x = 50;
            loader.y = 50;
            loader.scaleX = (stage.stageWidth - 100) / loader.contentLoaderInfo.width;
            loader.scaleY = (stage.stageHeight - 100) / loader.contentLoaderInfo.height;

            // e-mail text from externally loaded swf:
            trace("var from SWF: " + loader.content["mcContact"]["tfEMail"]["text"]);
        }

        private function httpStatusHandler(event:HTTPStatusEvent):void
        {
            trace("httpStatusHandler: " + event);
        }

        private function initHandler(event:Event):void
        {
            trace("initHandler: " + event);
        }

        private function ioErrorHandler(event:IOErrorEvent):void
        {
            trace("ioErrorHandler: " + event);
        }

        private function openHandler(event:Event):void
        {
            trace("openHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void
        {
            trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
        }

        private function unLoadHandler(event:Event):void
        {
            trace("unLoadHandler: " + event);
        }

        private function clickHandler(event:MouseEvent):void
        {
            trace("clickHandler: " + event);
            var loader:Loader = Loader(event.target);
            loader.unload();
        }
    }
}

希望能幫助到你。

暫無
暫無

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

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