加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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;

我们使用父代,因为这是相对于剪辑的.

合理?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读