2010-07-02 102 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