首页 > 解决方案 > 如何在一定空间内放置固定宽度的重叠元素?

问题描述

如何将某个固定宽度的 UI 元素均匀地放置在屏幕上的固定空间内?我想计算将元素放置在空间内的位置,而不缩放或旋转元素。

例如:我想将 4 张宽度为 500 单位的卡片放入底部宽度为 1000 单位的空白区域内。 在此处输入图像描述

预期结果:四张牌被放置成占据 1000 个单位。 在此处输入图像描述

如果有八张牌,则为预期结果。 在此处输入图像描述

标签: unity3dmath

解决方案


card_offset = (total_width - card_width) / (number_of_cards - 1) * card_index;

例子:

1st card offset = (1000 - 500) / (4 - 1) * 0 = 0
2st card offset = (1000 - 500) / (4 - 1) * 1 = 167
3st card offset = (1000 - 500) / (4 - 1) * 2 = 334
4st card offset = (1000 - 500) / (4 - 1) * 3 = 500

推荐阅读