Actionscript 3 如何在外部swf中查找对象的X、Y位置
我有一个SWF应用程序a,它有一个在X轴和Y轴上移动的绿色对象, 此SWF应用程序仅使用其SWF加载程序B运行 我创建了另一个SWF加载程序C,它加载SWF加载程序B。我想知道是否有可能获取绿色对象的实例及其属性 或者使用getPixels方法在舞台上搜索绿色并返回X,Y位置?不,你不应该使用getPixels,这样的任务太麻烦了。实际上,加载器具有内容属性: 包含使用load或loadBytes方法加载的SWF文件或图像JPG、PNG或GIF文件的根显示对象 只需在显示列表上进行操作,并了解加载组件后的操作,就可以获得所需的绿色对象。如果在每次加载操作后将内容添加到显示列表中,例如:addChildloader.content;例如,您的绿色对象的名称为Ex:“Greenletter”,完全加载后,您将能够获得该对象的引用:Actionscript 3 如何在外部swf中查找对象的X、Y位置,actionscript-3,flash,swfloader,getpixel,Actionscript 3,Flash,Swfloader,Getpixel,我有一个SWF应用程序a,它有一个在X轴和Y轴上移动的绿色对象, 此SWF应用程序仅使用其SWF加载程序B运行 我创建了另一个SWF加载程序C,它加载SWF加载程序B。我想知道是否有可能获取绿色对象的实例及其属性 或者使用getPixels方法在舞台上搜索绿色并返回X,Y位置?不,你不应该使用getPixels,这样的任务太麻烦了。实际上,加载器具有内容属性: 包含使用load或loadBytes方法加载的SWF文件或图像JPG、PNG或GIF文件的根显示对象 只需在显示列表上进行操作,并了解加
//After full loading, Code in loader C
var containerB: DisplayObjectContainer = getChildAt(0) as DisplayObjectContainer;
var appA: DisplayObjectContainer = containerB.getChildAt(0) as DisplayObjectContainer;
var greenLantern: DisplayObject = appA.getChildByName("greenLantern");
trace(greenLantern.magicProperty1, greenLantern.x, greenLantern.y);
另一种方法是事件冒泡。您可以从应用程序A生成事件,并在加载程序C中侦听它:
嗨,Nicolas,我需要更多的帮助使用第二种方法,我不确定我是否应该使用_root或其他什么。这是装载机B的链接。很遗憾,你必须登录并进入射击场,我需要绿色坦克的X和Y位置。最好的方法是什么?我非常感谢你的帮助。
//Loader C
addEventListener("greenLanternHere", onGreenLanternEvent);
function onGreenLanternEvent(e:Event):void {
//Heeeellooooo moving green object
trace(e.target);
}
//Application A
greenLanternInstance.dispatchEvent(new Event("greenLanternHere", true));