Egret社区

显示对象位置

2018-12-26 14:23
4259
1银子
1545805172(1).jpg 如何获取左右两边的对象的位置,并计算两个对象之间的距离,获取到距离后把这段距离分给中间三个,使得五个对象间的显示距离相等?小白刚接触Egret,求大神指教

分享到 :
0 人收藏

9 个回复

倒序浏览
冰湖  官方团队 | 2018-12-26 16:29:43
最简单的方法,在eui中把这几个按钮分到同一个group中,然后选水平布局
chaopeng  登堂入室 | 2018-12-26 16:35:41
冰湖 发表于 2018-12-26 16:29
最简单的方法,在eui中把这几个按钮分到同一个group中,然后选水平布局

因为几个UI图的大小不一,用Group做出来不能达到预期的效果,没法只能分开了
冰湖  官方团队 | 2018-12-26 16:39:30
chaopeng 发表于 2018-12-26 16:35
因为几个UI图的大小不一,用Group做出来不能达到预期的效果,没法只能分开了 ...

那你直接在代码中写,第一步:获取左右两边对象的x属性,拿到他们的x值,然后除以4,再给其中每一个一次加上这个平均值不就好了
chaopeng  登堂入室 | 2018-12-26 16:40:26
这个是在苹果x上显示的,在其他屏上显示正常的,由于屏幕像素拉伸了,而约束只能约束三个让其根据屏幕拉升而加大间距,不能达到间距相同的效果
chaopeng  登堂入室 | 2018-12-26 17:19:00
冰湖 发表于 2018-12-26 16:39
那你直接在代码中写,第一步:获取左右两边对象的x属性,拿到他们的x值,然后除以4,再给其中每一个一次加上这 ...

那请问我应该如何去获取他们的X值呢,我用globalToLocal()这个方法获取不到,还有就是如果获取到值是不是应该计算两个对像的距离,然后求平均,在给其余三个的X值重新赋值?
冰湖  官方团队 | 2018-12-26 17:22:41
chaopeng 发表于 2018-12-26 17:19
那请问我应该如何去获取他们的X值呢,我用globalToLocal()这个方法获取不到,还有就是如果获取到值是不是 ...

对,你没给这几个对象在eui中设置他们的id吗,直接在对应的TS文件中就能获取到了啊
冰湖  官方团队 | 2018-12-26 17:22:50
chaopeng 发表于 2018-12-26 17:19
那请问我应该如何去获取他们的X值呢,我用globalToLocal()这个方法获取不到,还有就是如果获取到值是不是 ...

对,你没给这几个对象在eui中设置他们的id吗,直接在对应的TS文件中就能获取到了啊
chaopeng  登堂入室 | 2018-12-26 18:07:24
冰湖 发表于 2018-12-26 17:22
对,你没给这几个对象在eui中设置他们的id吗,直接在对应的TS文件中就能获取到了啊 ...

定义了,但是我是放在一个group中的,不用将显示对象的(本地)坐标转换为舞台(全局)坐标 吗?还是直接This.btn.x = ...?
冰湖  官方团队 | 2018-12-26 18:20:57
chaopeng 发表于 2018-12-26 18:07
定义了,但是我是放在一个group中的,不用将显示对象的(本地)坐标转换为舞台(全局)坐标 吗?还是直接 ...

...那你确实得换算一下,this,btn.parent.x+this.btn.x相加就可以了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部