0
我用非常綠的手指打字,所以請原諒。從示例中學習,我一直試圖在ActionScript中加載和顯示圖像。這是我的工作對原來的例子:在ActionScript中加載和顯示圖像
...
...
var bmd2:BitmapData = bmd.clone();
var infoBM:Bitmap = new Bitmap(bmd2);
var back:MovieClip = new MovieClip();
back.name = "back";
back.rotationX = -90;
var bSurface:MovieClip = new MovieClip();
bSurface.y = int(...
bSurface.z = int(...
bSurface.addChild(infoBM);
var overlay:Sprite = new Sprite();
overlay.graphics.beginFill(...);
overlay.graphics.drawRect(0, 0, bSurface.width, bSurface.height);
overlay.graphics.endFill();
bSurface.addChild(overlay);
back.addChild(bSurface);
var tf:TextField = new TextField();
tf...
tf...
tf...
bSurface.addChild(tf);
...
...
我試圖將圖像放置到bSurface而不是文本塊,如上面。到目前爲止,我想出了:
var iSprite:Sprite = new Sprite();
var iMatrix:Matrix = new Matrix();
var bmData:BitmapData;
bmData = new BitmapData(surface.width, surface.height, true, 123);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("c:\pixlr.png"));
function onComplete (event:Event):void
{
bmData = Bitmap(LoaderInfo(event.target).content).bitmapData;
}
iMatrix.tx = 0;
iMatrix.ty = 0;
iSprite.graphics.beginBitmapFill(bmData, iMatrix, false, true);
iSprite.graphics.drawRect(0, 0, surface.width, surface.height);
iSprite.graphics.endFill();
surface.addChild(iSprite);
...和:
var bmData:BitmapData;
bmData = new BitmapData(surface.width, surface.height, true, 123);
var loader:Loader = new Loader();
var location:URLRequest = new URLRequest("c:\pixlr.png");
loader.load(location);
bmData = Bitmap(loader.content).bitmapData;
surface.addChild(bmData);
但沒有成功。我幾天來一直在悲慘地失敗,並且非常感謝一些幫助。
請多關照,
索非亞
你好整形外科醫生,謝謝你的解決方案;它完美地工作。但是,我必須將圖像文件放在同一個目錄中才能使用;有什麼理由爲什麼文件路徑會失敗?此外,即使沒有事件偵聽器,您的示例也能正常工作。那是什麼,並且在沒有它的情況下使用裝載機是否安全?再一次,非常感謝你。重要的是,它現在起作用 - 經過許多無用的,艱苦的試驗和錯誤無知的小時。 – iSofia
1.圖像路徑爲「C:\ pixlr.png」 - 您在上面的代碼中指定了該路徑。您可以使用絕對路徑或相對路徑。 2.事件監聽器不是必需的。它會告訴你圖像何時加載,這樣你就不會在它出現之前對它進行調用,並且還可以讓它在加載後做一些事情,例如淡入。 –
你簡直太棒了。底線是你解決了我幾天未能成功掙扎的問題,爲此,我衷心地感謝你。 – iSofia