AS2 ...ああ...思い出(悪夢のようなより)。
私の古き良きBitmapLoader.asを試してみてください...私は何年も使ってきましたが、まだ私を失敗させたことはありません...美しく書かれておらず、そこにいくつかの倍精度設定があります。 ..しかし私は気にしない。それは古く、それは完璧な仕事です(いつも!)。
var loader : BitmapLoader = new BitmapLoader(true);
loader.addListener(this);
loader.loadBitmap("http://test.nl/example.jpg", this, "doneLoading");
が「本当」でスムージング・ブールである、のaddListener(本):それはあなたがこのようにこのクラスを使用することができます
import flash.display.BitmapData;
class BitmapLoader extends Object {
private var mLoader : MovieClipLoader;
private var scope : Object;
private var _mc : MovieClip;
private var _url : String;
private var _func : Object;
private var smooth : Boolean;
public function BitmapLoader(smooth : Boolean)
{
this.smooth = smooth;
mLoader = new MovieClipLoader();
addListener(this);
}
public function addListener(inListener : Object) : Void
{
mLoader.addListener(inListener);
scope = inListener;
}
public function removeListener(inListener : Object) : Void
{
mLoader.removeListener(inListener);
}
private function onLoadInit(inTarget : MovieClip) : Void
{
var bitmap : BitmapData = new BitmapData(inTarget._width, inTarget._height, true, 0x000000);
bitmap.draw(inTarget);
var parent : MovieClip = inTarget._parent;
var img : MovieClip = parent.createEmptyMovieClip("imageloader_smooth_mc", parent.getNextHighestDepth());
inTarget.unloadMovie();
inTarget.removeMovieClip();
delete inTarget;
img.attachBitmap(bitmap, img.getNextHighestDepth(), "never", true);
scope[_func](img);
}
private function onLoadError(errorCode : String, httpStatus : Number) : Void
{
error(errorCode, httpStatus);
}
/**
* loadBitmap(http://www.test.nl/img.jpg, movieclip, "dothis");
*/
public function loadBitmap(url : String, mc : MovieClip, func : Object) : Void
{
_url = url;
_mc = mc;
_func = func;
var raw : MovieClip = _mc.createEmptyMovieClip("imageloader_raw_mc", _mc.getNextHighestDepth());
mLoader.loadClip(_url, raw);
}
private function error(errorCode : String, httpStatus : Number) : Void
{
var raw : MovieClip = _mc.createEmptyMovieClip("imageloader_raw_mc", _mc.getNextHighestDepth());
mLoader.loadClip("img/notfound.jpg", raw);
};
}
真または偽
にスムージングを設定し、コンストラクタでのブーリアンを必要としますスコープ問題(AS2-bleeh)を防止することであり、 "doneLoading"は読み込みが完了したときに呼び出す関数名です。
これはうまく動作します。
幸運を祈る!
これは、「doneLoading」関数で行うことができます。すなわち: \tパブリック関数doneLoading(MC:ムービークリップ):ボイド \t {\t \t mc._width = 160。 \t \t mc._yscale = mc._xscale; \t \t if(target。_height> 105) \t \t { \t \t \t mc._height = 105; \t \t \t mc._xscale = target._yscale; \t \t} \t} – Ypmits