Flash AS3了解localToGlobal

标签 flash actionscript-3

我在理解Flash的localToGlobal功能时遇到了一些麻烦。我有一个movieClip,它嵌套在许多其他动画片段中。单击该嵌套剪辑时,我想找到它的位置,然后将最上面的包含剪辑移动一定量,以使嵌套剪辑位于舞台的中心(基本上,我有一个树形图,而我想要的效果)是treeContainer平移到单击的“分支”作为舞台的中心)

所以我有这个:

var treePoint = new Point (treeContainer.x,treeContainer.y); //since treePoint's parent is the stage, don't need global here.

var groupPoint = new Point (groupClip.x,groupClip.y);
var groupPointGlobal = groupClip.localToGlobal(groupPoint);
var stageCenter = new Point (int(stage.stageWidth/2),int(stage.stageHeight)/2);

var shiftAmount = ???

感谢您的任何帮助,您可以提供。

最佳答案

剪辑的x,y位置始终是相对于其父级的。因此,除非它是舞台的子级或父级为0,0-您可以使用localToGlobal为其指定位置。

var globalPoint:Point = myClip.localToGlobal(new Point(0,0));

这将为您提供该剪辑的全局位置。

但是从它的声音来看,您想走另一条路,对globalToLocal正确吗?

globalToLocal将基于全局位置返回本地位置。

因此,如果您想设置剪辑的本地位置,以便将其定位在屏幕的中心,请假定它为320,240。
var localPoint:Point = myClip.parent.globalToLocal(new Point(320,240));
myClip.x = localPoint.x;
myClip.y = localPoint.y;

我们使用父级,因为多数民众赞成在剪辑将是相对的。

有道理?

关于Flash AS3了解localToGlobal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6062209/

相关文章:

javascript - 使用 JavaScript 调用 Flash ExternalInterface

actionscript-3 - AS3 - 错误 1119 - 通过静态类型 Class 的引用访问可能未定义的属性 y

javascript - 如何在 Flash 10 "without"用户交互中打开文件对话框

apache-flex - 对象的闪存复制 - 克隆库?

actionscript-3 - FlashDevelop 教程中的 Flex 元数据编译器扩展

actionscript-3 - 发出 HTTP 请求时访问重定向到的 URL

flash - 如何将 BitmapData.draw 与 NetStream.appendBytes 一起使用?

javascript - CreateJS 是否包含类似于 AS3 中的 "ENTER_FRAME"的事件监听器?

actionscript-3 - 如何为与强制运行时捆绑的 AIR 应用程序创建更新程序?

java - 远程对象(flex)和自定义对象的ArrayList