繁体   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