【问题标题】:Loader Complete event does not work with browser (AS3)Loader Complete 事件不适用于浏览器 (AS3)
【发布时间】:2013-01-22 01:24:40
【问题描述】:

我正在尝试在影片剪辑中加载图像并更改其大小,如下所示:

    var loader:Loader = new Loader();

    public function setProfilePicture(url:String){
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplte);
        loader.load(new URLRequest(url));
        addChild(loader);
    }


    protected function onComplte(event:Event):void
    {
        EventDispatcher(event.target).removeEventListener(event.type, arguments.callee);
        var image:DisplayObject = (event.target as LoaderInfo).content;
        image.width = 132;
        image.height = 132;

    }

当我使用 adobe flash CS5 执行上面的代码时,它可以正常工作,但是当我尝试使用浏览器(例如 Chrome)打开它时,图像的大小不会更改为 132x132。我尝试将 addChild(loader) 放在 onComplete 函数中,但此时我用浏览器打开它时,甚至无法加载图像,而用 adobe flash CS5 执行时仍然像以前一样。

我的建议是,当我们用浏览器打开它时,onComplete 功能不起作用,但是为什么? 任何想法将不胜感激。

【问题讨论】:

    标签: actionscript-3 flash flash-cs5


    【解决方案1】:

    查看此链接:actionscript3 (flash) don't load images form user file in chrome

    验证它是否可以在除 chrome 之外的其他浏览器中运行。这很可能是chrome中的pepper flash问题

    【讨论】:

      【解决方案2】:

      我玩过你的 onComplte 函数,不知何故无法从那里访问 LoaderInfo 的 content 属性。如果一切都失败了,仍然可以在 setProfilePicture 中通过缩放加载器来控制图像的大小:

      public function setProfilePicture(url:String){
          loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplte);
          loader.load(new URLRequest(url));
          loader.scaleX = 10; ////
          loader.scaleY = 10; ////
          addChild(loader);
      }
      

      【讨论】:

      • 感谢您的回答,您的解决方案的问题是图像的大小可以不同,因此使用 scaleX 属性不能保证最终大小是我们想要的。
      【解决方案3】:

      试试这个技巧:

      protected function onComplte( event:Event ):void {
          EventDispatcher( event.target ).removeEventListener( event.type, arguments.callee );
      
          var loaderInfo:LoaderInfo = LoaderInfo( event.target );
          loaderInfo.loader.scaleX = 132 / loaderInfo.width;
          loaderInfo.loader.scaleY = 132 / loaderInfo.height;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-22
        • 1970-01-01
        • 2023-03-13
        • 1970-01-01
        相关资源
        最近更新 更多