我在这里渲染了3个矩形。假设我想将它们全部移到线上但保持秩序,我将如何进行呢?我尝试减去Y和高度而不是添加Y但是正如预期的那样,下部矩形位于顶部,中间位于中间,顶部位于底部
之前:
z http://screensnapr.com/e/Lljb6S.png
后: z http://screensnapr.com/e/EgWID2.png
那么是否有任何简单的解决方案可以将它们呈现在上方而不必更改所有值?
答案 0 :(得分:2)
你只想让你的盒子保持在X轴上,然后你需要将所有的高度加上所有高度的总和,加上蓝框和轴之间的距离[就是这个blueBox.y
]。
所以有点伪代码:
double totalHeight = box1.height + box2.height + box3.height + Math.abs(box1.y);
for(box in boxes){
box.y -= totalHeight;
}
关键是你不能在没有引用其他人的情况下说出单个盒子的位置 - 你需要这个总和。