Flash as3了解localToGlobal
发布时间:2020-12-15 07:30:51 所属栏目:百科 来源:网络整理
导读:我只是在理解Flash的localToGlobal功能方面有点麻烦.我有一个movieClip,它嵌套在一大堆其他动画片段中.当嵌套的剪辑被点击时,我想找到它的位置,并移动最上面的包含剪辑的量,使嵌套的剪辑位于舞台的中心(基本上我是一个树形图,和我想要的效果是TreeContainer
我只是在理解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; 我们使用父代,因为这是相对于剪辑的. 合理? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |