解決すべき問題が 2 つあります。
まず、(URL に基づいて) 画像をムービークリップに追加するこの関数があり、ムービー クリップ内のアスペクト比を維持しようとします。しかし、集中化する必要があり、ローダーの x と y を適切な値に変更する方法が見つかりません。
function addImg(movieclip,url):void {
var urlRequest:URLRequest = new URLRequest(url);
var loader:Loader = new Loader();
var loaderContext:LoaderContext = new LoaderContext();
loaderContext.checkPolicyFile = true;
loader.load( urlRequest, loaderContext );
var W:Number = movieclip.width;
var H:Number = movieclip.height;
var A:Number = W/H;
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event){
var tempImage:Bitmap = new Bitmap(e.target.content.bitmapData);
var image:Object = {};
image.width = 267;
image.height = 223;
var a:Number = image.width / image.height;
if( A >= a ){
loader.width =H*a;
loader.height =H;
}else{
loader.width = W;
loader.height =W / a;
}
movieclip.alpha =1;
loader.alpha = 1;
movieclip.addChild( loader );
});
}
次に、ハードコードされた幅と高さを使用しています。画像の元のサイズを特定するにはどうすればよいですか? 新しいビットマップ (e.target.content.bitmapData) を覗いてみましたが、幅と高さが間違っています (ステージの w と h を表示します)。
アイデアはありますか?