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

我试图像下面的图片一样在一个大矩形内添加一个小矩形,但是似乎什么都没有帮助。我想使用锚点,但是我不知道该如何操作。我试图把小矩形放在大矩形的右上角。任何建议都将非常有帮助!

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)

我试图完成的目标: enter image description here

点赞
用户7026995
用户7026995

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

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

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
2017-12-31 20:31:34