actionscript-3 - 在AS3中更改宽度和高度后MovieClip消失

标签 actionscript-3 flash flash-cs5 flashdevelop

我正在尝试从 as3 中的 url 加载图像,如下所示:

var myImageLoader:Loader = new Loader();
private var mcImage: MovieClip = new MovieClip();
var myImageLocation:URLRequest = new URLRequest("http://example.com/xyz.jpg");
myImageLoader.load(myImageLocation);
mcImage.addChild(myImageLoader);
mcImage.x = 100;
mcImage.y = 100;
//mcImage.width = 50;
//mcImage.height = 50;
addChild(mcImage);

上面的代码工作正常,但由于我想要的图像与原始图像相比具有不同的大小,因此这里需要更改其大小。因此,在使用上面代码中注释的行之后,mcImage 消失了。

我尝试使用 mcImage.scaleX =myImageLoader.width/50 ,但是由于 myImageLoader 一开始没有加载,所以我们无法获取 myImageLoader 的宽度,该宽度为空。

最佳答案

这是设置尺寸时经常出现的错误,不能设置空显示对象(宽度和高度为零的对象)的尺寸。要设置显示对象的大小,您首先需要在其图形上绘制一些内容(例如 1*1 px 矩形),但您应该明白,之后您只需相对于原始显示对象进行缩放大小,例如,如果您绘制 1*1 px 矩形并设置为=height=50,则scaleX和scaleY将为50,因此如果我们说加载器,您加载的图像将是巨大的:)这都是关于flash中的大小调整.

您的任务怎么样:有一个共同规则 - 不要调整加载程序的大小,而是调整加载的图像的大小。正如我上面所说,调整加载程序的大小只会缩放图像而不是设置其大小。添加完整的处理程序并根据需要调整 loader.content 的大小。

示例:

public function astest()
{
    var loader:Loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplte);
    addChild(loader);

    loader.load(new URLRequest("https://www.google.ru/images/srpr/logo3w.png"));
}

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

    image.width = 50;
    image.height = 50;
}

关于actionscript-3 - 在AS3中更改宽度和高度后MovieClip消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14674991/

相关文章:

actionscript-3 - Flash/AS3播放器如何读取mp3文件的长度?

apache-flex - AS3/Flex : Improving slow performance of drawing Application using BitmapData. 绘制()

actionscript-3 - 删除as3中的空格

flash - 在 .fla、Actionscript 2 和 Flash Professional 5.5 中使用 FlashDevelop 调试器

actionscript-3 - 从 ByteArray 获取图像大小

actionscript-3 - 制作 Flash 游戏的可下载版本的最佳方式?

c++ - 我有一个 wxwidgets,我想添加一些很酷的效果。使用 GDI 会非常困难。我可以使用闪光灯或其他东西吗?

javascript - FLEX 应用程序,禁用后退按钮和退格/删除键从 FLEX 应用程序中弹出

javascript - 在 Flash 中禁用使用箭头键滚动

iphone - 如何在没有开发人员许可证的情况下使用 Flash CS5 编译 iPhone 应用程序