我想在参考对象的大小和位置变化时将图像放在另一个displayObject(向量对象)中。
local memoRect = display.newRect(135,100,440,540)
local memoTitle = display.newImage("images/memobg.png", 135, 100)
我想以相对方式将memoTitle
内部放置 memoRect
的边界。但是以下代码不起作用。
local memoRect = display.newRect(135,100,440,540)
local memoTitle = display.newImage("images/memobg.png", memoRect.x + 10, memoRect.y + 20)
我希望上述代码将memoTitle
放置在memoRect
的左上方,而该代码将memoTitle
Origin放置在memoRect
的X
中心和Y
TOP/0。
这是预期的行为吗?这是一个错误吗?
如何将DisplayObjects
相对放置?
正确我在尝试不同的事情后得出的答案基本上是 referencePoint
默认值荒谬地设置为 display.CenterReferencePoint
而不是 display.TopLeftReferencePoint
一旦我做以下所有事情,一切都按照我的预期。
local memoRect = display.newRect(0,0,440,540)
local memoTitle = display.newImage("images/memobg.png", 0, 0)
memoRect:setReferencePoint(display.TopLeftReferencePoint)
memoTitle:setReferencePoint(display.TopLeftReferencePoint)
memoRect.x = 135; memoRect.y = 100
memoTitle.x = memoRect.x + 10; memoTitle.y = memoRect.y + 20
现在一切都相对于彼此(实际上是它们所在的显示组)。这样,我可以移动一件事,另一件事将相对于该对象定位自己。
我不知道制作默认的display.CenterReferencePoint
背后的荒谬逻辑,但这根本不是我可以想象的任何理由。