当参考对象的大小和位置不同时,我想将图像放在另一个DisplayObject(矢量对象)中。
local memoRect = display.newRect(135,100,440,540)
local memoTitle = display.newImage("images/memobg.png", 135, 100)
我想以相对的方式将memoTitle
放在<{1}}的范围内。但是以下代码不起作用。
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
的{{1}}中心和X
top / 0。
这是预期的行为吗? 这是一个错误吗?
如何将memoRect
相对于彼此放置?
答案 0 :(得分:0)
我在尝试不同的事情后得出的正确的答案基本上是referencePoint
默认设置为display.CenterReferencePoint
而不是display.TopLeftReferencePoint
< / p>
一旦我做了以下所有事情就像我预期的一样。
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
现在一切都相对于彼此(实际上是他们所在的DisplayGroup)。通过这种方式,我可以移动一个东西,而其他东西将相对于该对象定位。
我不知道制作默认display.CenterReferencePoint
背后的荒谬逻辑,但根据我无法想象的任何理由,这是不符合逻辑的。