2010-07-02 142 views
0

我有麻煩定位外部加載的swf。它只是不響應其xy值的任何設置。無法定位外部加載的swf

swf我加載的是在FlashDevelop中創建的純粹的as3項目,其中主類擴展爲sprite。我甚至嘗試使用MonsterDebugger修改xy的值,但沒有運氣。

swf被裝載到舞臺右側的容器中,但始終位於左上角。裝載是直截了當:

public var targetContainer:Sprite; 
public function load(path:string):void { 

    loader = new Loader(); 
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, successHandler); 

    var movie:MovieClip = new MovieClip(); 
    movie.addChild(loader); 
    targetContainer.addChild(movie); 

    loader.load(new UrlRequest(pathToSwf)); 
} 
private function successHandler(e:Event):void {  
    //this does nothing for the one file, but affect any other swf i load 
    e.target.content.x = 300; 
} 

我不存在這個問題對於其他SWF文件。所以I'm猜測它在我的具體項目AS3與一些代碼的問題做的,我只是不容圖出什麼?

感謝您的任何建議!

回答

0

我再次遇到了同樣的問題......衝突的包和類名......這是一件好事如果有人被這樣的事情警告過,但從現在開始我會有很長且無法辨認的名字, )

奇怪的是,它讓整個裝載的swf首先坐在左上角,其次,即使通過MonsterDebugger也不可能改變位置「在遊戲中「...

Newb,它真的在空中!

1

嘗試movie.x = 300;而不是event.target.content.x = 300。加載器內容是您加載的swf的根DisplayObject。在加載的swf中,可能有一些代碼在某個時刻也設置(並因此覆蓋)同一DisplayObject的x屬性。

+0

感謝您的回答!我不認爲這會解決我的問題,因爲我已經嘗試通過MonsterDebugger改變x,實際上它們都是父子容器......沒有任何效果。 這可能是由於命名空間衝突造成的嗎?我可以有一些...... – Tobias 2010-07-04 18:26:27