Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何在外部swf中查找对象的X、Y位置_Actionscript 3_Flash_Swfloader_Getpixel - Fatal编程技术网

Actionscript 3 如何在外部swf中查找对象的X、Y位置

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文件的根显示对象 只需在显示列表上进行操作,并了解加

我有一个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”,完全加载后,您将能够获得该对象的引用:

//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));