我在一个特定的问题上有困难:我有一个主要的flash应用程序加载不同的内容-游戏,应用程序等。在一些游戏中,当它被加载时,它的部分行为会发生变化(Movieclips)。例如,没有加载程序,您在内容游戏中射击和杀死一个人,但在加载程序中,当您使用相同的游戏时,您射击,尽管子弹已经接触到人-mc什么都不会发生。我希望我能解释清楚))。知道为什么会这样吗?谢谢,我提前
更新:
你好,马尔特·克勒,非常感谢你的回复!这简直把我逼疯了--答案就在这里的某个地方,但却被忽略了。下面是代码- on Event.COMPLETE,我更改了加载内容的位置。我有另一个函数,在完成过程中运行,它添加了它们的位置被更改的部分。重要的是,他们被改变了onCOMPLETE之前。谢谢你的帮助。
var loader:Loader = new Loader();
addChild(loader);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadingFunc);
loader.load(new URLRequest(urlAdr));
function loadingFunc(event:Event):void
{
var loaderInf:LoaderInfo = event.target as LoaderInfo;
dispObj = loaderInf.loader;
//dispObj.x = stage.stageWidth/2-loaderInf.width/2; --------------- That how it was before I changed root property
//dispObj.y = stage.stageHeight/2-loaderInf.height/2;
var mb:MovieClip = dispObj.loaderInfo.content as MovieClip; //----------- That how it's now
mb.x = stage.stageWidth/2-loaderInf.width/2;
mb.y = stage.stageHeight/2-loaderInf.height/2;
//var app:App = new App(mb); This give the same resault as var mb:MovieClip = dispObj.loaderInfo.content as MovieClip;
}发布于 2011-03-02 13:33:24
避免使用root的一种方法是将应用程序从时间线中移除如下:
var app:App=new App(this);在这种情况下,您将应用程序传递给包含脚本的385的引用,不管它是根目录还是其他任何地方。下面是一个类的外观示例:
class App{
public var appRoot:MovieClip=null;
function App(appRoot:MovieClip){
this.appRoot=appRoot:
}
function setHeadline(text:String):void{
appRoot.textField.text=text;
}
}现在,您获得了对保存的育婴片的引用,并可以使用它来访问(例如: setHeadline()函数)所有内容,而不必担心根,而不包含所期望的内容。
https://stackoverflow.com/questions/5157411
复制相似问题