2010-11-07 32 views
0

我有一個加載外部圖像到舞臺(我有addChild()腳本其他地方)的腳本,但我不斷收到一個錯誤,指出:ActionScript 3.0中拖動圖像裝載機,但得到的錯誤,它不能被轉換爲影片剪輯

類型錯誤:錯誤#1034:類型強制失敗:無法flash.display使用::裝載機@ b1b7101轉換成的flash.display.MovieClip。 在project1_fla :: MainTimeline /阻力()

var my_loader:Loader = new Loader(); 
my_loader.load(new URLRequest("http://i54.tinypic.com/anom5d.png")); 
my_loader.addEventListener(MouseEvent.MOUSE_DOWN, drag); 

function drag(event:MouseEvent):void{ 
var my_loader:MovieClip = MovieClip(event.target); 
my_loader.startDrag() 
my_loader.scaleX = my_loader.scaleY = .95; 

我確實使圖像可拖動? *(當SWF啓動,但圖像不會因爲我把的addChild()在if()語句的圖像加載。難道是因爲沒有加載圖像,它不可能是一個影片剪輯?)

回答

1

下面一行有幾處錯誤。

var my_loader:MovieClip = MovieClip(event.target); 

首先,事件目標是Loader類型,因此您將無法將它強制轉換爲MovieClip。其次,在加載swf時,通常會進行這種強制轉換,但是您要加載png!

var container:Sprite = new Sprite(); 
addChild(container); 

my_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadingComplete); 
my_loader.load(new URLRequest("http://i54.tinypic.com/anom5d.png")); 

function onLoadingComplete(event:Event):void 
{ 
    container.addChild(event.currentTarget.loader.content); 
    container.addEventListener(MouseEvent.MOUSE_DOWN, drag); 
    //remove the listener here 
} 

function drag(event:MouseEvent):void{ 
    container.startDrag() 
    container.scaleX = 0.95; 
    container.scaleY = 0.95; 
    } 
0
var my_loader:Loader = new Loader(); 
addChild(my_loader); 
my_loader.addEventListener(MouseEvent.MOUSE_DOWN, drag); 
my_loader.load(new URLRequest("http://i54.tinypic.com/anom5d.png")); 
function drag(event:MouseEvent):void{ 
my_loader.startDrag() 
my_loader.scaleX = 0.95; 
my_loader.scaleY = 0.95; 
} 
相關問題