最近开始学习ActionScript 3,并且已经有问题了。问题仍然是一样的:我正在使用对象Loader.load (URLRequest)上传图片。正常加载并显示图片。但是,不可能读取图像高度和宽度的属性值,而是发出零。也就是说,这样做:
var loader:Loader=new Loader();
var urlR:URLRequest=new URLRequest("Image.jpg");
public function main()
{
loader.load(urlR);
var h:Number = loader.height;// here instead of the width of the image of h is set to 0
// And if you do like this:
DrawText(loader.height.toString(10), 50, 50); // Function which draws the text as defined below
// 256 is displayed, as necessary
}
private function DrawText(text:String, x:int, y:int):void
{
var txt:TextField = new TextField();
txt.autoSize = TextFieldAutoSize.LEFT;
txt.background = true;
txt.border = true;
txt.backgroundColor = 0xff000000;
var tFor:TextFormat = new TextFormat();
tFor.font = "Charlemagne Std";
tFor.color = 0xff00ff00;
tFor.size = 20;
txt.x = x;
txt.y = y;
txt.text = text;
txt.setTextFormat(tFor);
addChild(txt);
} 也许属性值必须通过这些特殊特性获得,但是在书中K.Muka "ActionScript 3 for fash“中指出这样做是必要的。请帮我解决这个问题。提前谢谢。
发布于 2014-01-16 16:56:13
这很简单。
Flash关注的是互联网,因此出现了这样的问题。
如果您编写了loader.load (UrlR),这并不意味着加载。因此,在事件确认加载结束之前,在loadare Null中
如果不是某些函数,而是更多的代码,可能会使您的方法出错。是的,而且仍然很大程度上取决于你所读文件的大小。一般都是歌词。侦听loader.contentLoaderInfo.addEventListener (Event.INIT,_onEvent)、onEvent和read属性上的事件。
发布于 2014-01-16 17:01:31
您需要等待您的图像加载,才能从中获取值。将eventListener附加到您的URLLoader上。
var urlR:URLRequest = new URLRequest("Image.jpg");
loader.load(urlR);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete);
function loader_complete(e:Event): void {
// Here you can get the height and width values etc.
var target_mc:Loader = evt.currentTarget.loader as Loader;
// target_mc.height , target_mc.width
}加载器
https://stackoverflow.com/questions/21167892
复制相似问题