如何在 corona sdk 中将对象锚定在矩形内?

How to anchor object inside a rectangle in corona sdk?

我正在尝试在一个大矩形内添加一个小矩形,如下图所示,但似乎没有任何效果。我想使用锚点,但我不知道如何进行。我正在尝试将小矩形放在更大 rectangle.Any 建议的右上角,这将非常有帮助!

local bigRectangle = display.newRect(200,200,320,400)
bigRectangle:setFillColor(0,0,1)
bigRectangle.x = _X
bigRectangle.y = _Y

local smallRectangle = display.newRect(200,200,20,20)
bigRectangle:setFillColor(255/255,255/255,0/255)

我想要完成的事情:

可以通过多种方式实现。最简单的方法是将锚点更改为(1, 0)。它要求两个对象具有相同的 xy 坐标:

local bigRectangle = display.newRect( 200, 200, 320, 400 )
bigRectangle.anchorX, bigRectangle.anchorY = 1, 0
bigRectangle:setFillColor( 0, 0, 1 )

local smallRectangle = display.newRect( 200, 200, 20, 20 )
smallRectangle.anchorX, smallRectangle.anchorY = 1, 0
smallRectangle:setFillColor( 255 / 255, 255 / 255, 0 / 255 )

更通用的方法使用 bounds 属性 显示对象:

local bigRectangle = display.newRect( 200, 200, 320, 400 )
    bigRectangle:setFillColor( 0, 0, 1 )
    bigRectangle.x = _X
    bigRectangle.y = _Y

    local smallRectangle = display.newRect( 200, 200, 20, 20 )
    smallRectangle:setFillColor( 255 / 255, 255 / 255, 0 / 255 )

    local bounds = bigRectangle.contentBounds
    smallRectangle.x = bounds.xMax - smallRectangle.width * smallRectangle.anchorX
    smallRectangle.y = bounds.yMin + smallRectangle.height * smallRectangle.anchorY