2017-12-31 131 views
0

아래 그림과 같이 큰 직사각형 안에 작은 사각형을 추가하려고하지만 아무 것도 작동하지 않는 것 같습니다. 앵커를 사용하고 싶지만 진행 방법을 모르겠습니다. 더 큰 직사각형의 오른쪽 위 모서리에 작은 사각형을 넣으려고합니다. 모든 조언은 매우 유용 할 것입니다!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

답변

1

그것은 여러 가지 방법으로 달성 할 수있다. 가장 간단한 방법은 고정 점을 (1, 0)으로 변경하는 것입니다.

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 
이 두 객체가 같은 xy 좌표가 있어야합니다