mhe*_*ers 9 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 = ???
Run Code Online (Sandbox Code Playgroud)
感谢您的任何帮助,您可以提供.
pro*_*cal 23
剪辑的x,y位置始终相对于其父级.因此,除非它是舞台的孩子,或者父母是0,0 - 你可以使用localToGlobal来为你提供舞台上的位置.
var globalPoint:Point = myClip.localToGlobal(new Point(0,0));
Run Code Online (Sandbox Code Playgroud)
这将为您提供该剪辑的全球位置.
但是从它的声音来看,你想要走另一条路并做globalToLocal吗?
globalToLocal将根据全球位置返回本地位置.
因此,如果你想设置一个剪辑的本地位置,使它位于屏幕的中心 - 让我们假设它是320,240.
var localPoint:Point = myClip.parent.globalToLocal(new Point(320,240));
myClip.x = localPoint.x;
myClip.y = localPoint.y;
Run Code Online (Sandbox Code Playgroud)
我们使用父级,因为这就是剪辑的相对含义.
合理?
| 归档时间: |
|
| 查看次数: |
25522 次 |
| 最近记录: |