【问题标题】:Actionscript 3.0: resizing imagesActionscript 3.0:调整图像大小
【发布时间】:2011-03-17 15:17:19
【问题描述】:

我对用于移动开发的 ActionScript 3.0 非常陌生。

我正在使用加载器类来加载图像。我正在加载十张不同尺寸的图像。我正在尝试以通用尺寸 (300x300) 加载它们:

imageWordLoader = new Loader();
imageWordLoader.load(myImageLocation);
imageWordLoader.x = 20;
imageWordLoader.y = 60;
imageWordLoader.height = 300;
imageWordLoader.width = 300;
addChild(imageWordLoader);

但是,我什么都看不到。

我该怎么做?

【问题讨论】:

  • 您的问题得到解答了吗?请接受您选择的答案。

标签: actionscript-3 image-manipulation loader blackberry-playbook


【解决方案1】:

您应该等到图像被加载并且加载器的宽度和高度不为零。在空的 DisplayObject 上设置宽度或高度会弄乱它的转换矩阵。

【讨论】:

    【解决方案2】:

    加载完成后设置宽高。

    在调用 load() 之前,添加一个事件监听器:

    imageWordLoader.addEventListener( Event.COMPLETE, onLoadComplete );
    

    并创建事件处理函数:

    function onLoadComplete( event:Event )
    {
        imageWordLoader.removeEventListener( Event.COMPLETE, onLoadComplete );
        imageWordLoader.width = 300;
        imageWordLoader.height = 300;
    }
    

    【讨论】:

    • 现在,它正在工作,但我收到另一个错误:警告:3D DisplayObject 不会渲染。它的尺寸(6711131、6711131)太大而无法绘制。我的图片大于 300 像素。
    【解决方案3】:

    我这样做是为了解决我的问题:

    imageWordLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadedEvent);
    

    现在,我可以使用Event.COMPLETE,但如果我使用 Timo 答案,我就无法使用该事件。

    onLoadedEvent函数是:

    private function onLoadedEvent(event:Event):void
    {
        var targetLoader:Loader = Loader(event.target.loader);
    
        targetLoader.content.height = 300;
        targetLoader.content.width = 300;
    }
    

    感谢您的所有回答。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多