【问题标题】:How to anchor object inside a rectangle in corona sdk?如何在 corona sdk 的矩形内锚定对象?
【发布时间】:2018-01-01 04:31:34
【问题描述】:

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

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)

我想要完成的事情:

【问题讨论】:

    标签: lua coronasdk


    【解决方案1】:

    它可以通过多种方式完成。最简单的方法是将锚点更改为(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 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 2011-12-18
      • 1970-01-01
      • 2014-05-31
      相关资源
      最近更新 更多