我在这里渲染了 3 个矩形。假设我想将它们全部移到线上但保持它们的顺序,我该怎么做?我尝试减去 Y 和高度而不是添加 Y 但正如预期的那样,下部矩形位于顶部,中间位于中间,顶部位于底部
前:
z http://screensnapr.com/e/Lljb6S.png
之后: z http://screensnapr.com/e/EgWID2.png
那么是否有任何简单的解决方案可以将它们呈现在上方,而不必更改所有值?
我在这里渲染了 3 个矩形。假设我想将它们全部移到线上但保持它们的顺序,我该怎么做?我尝试减去 Y 和高度而不是添加 Y 但正如预期的那样,下部矩形位于顶部,中间位于中间,顶部位于底部
前:
z http://screensnapr.com/e/Lljb6S.png
之后: z http://screensnapr.com/e/EgWID2.png
那么是否有任何简单的解决方案可以将它们呈现在上方,而不必更改所有值?
你只希望你的盒子停留在 X 轴上,然后你需要通过所有高度的总和以及蓝色盒子和轴之间的距离来提升所有这些盒子 [就是这个blueBox.y
]。
所以用一点伪代码:
double totalHeight = box1.height + box2.height + box3.height + Math.abs(box1.y);
for(box in boxes){
box.y -= totalHeight;
}
关键是你不能在不参考其他盒子的情况下说明单个盒子的位置——你需要那个总和。
据我从您的问题中了解到,您想抬起这些矩形。
假设您想按Z
像素增加它们。
那么第一个矩形的坐标将是:
Y= Y- Z
我希望我能理解你的问题:)