如何使一个对象相对于第二个对象的位置居中?

How to center an object within an object relative to the position of the second object?

我需要将位于屏幕上另一个对象内部的对象居中,并使其相对于第二个对象的位置

例如:

-------- screen --------
|                      |
|    --------          |
|    | text |          |
|    --------          |
------------------------

Lua 中屏幕居中文本的代码示例:


local x = math.floor(screenWidth / 2 - width / 2)

local y = math.floor(screenHeight / 2 - height / 2)

只需将对象相对于父对象居中,然后将其移动到屏幕上的绝对位置:

local x = parentX + math.floor((parentWidth - width) / 2)
local y = parentY + math.floor((parentHeight - height) / 2)

从Lua 5.3开始,你可以使用floor division(//)来缩短这个:

local x = parentX + (parentWidth - width) // 2
local y = parentY + (parentHeight - height) // 2