flexpanel_node_layout_get_position 함수 설명

flexpanel_node_layout_get_position 함수는 주어진 노드의 레이아웃 정보를 담고 있는 구조체를 반환합니다. 이 함수를 호출하기 전에 반드시 flexpanel_calculate_layout을 한 번 이상 호출해야 하며, 그렇지 않으면 반환되는 모든 데이터는 0이 됩니다.

기본적으로 반환되는 위치는 부모 컨테이너의 위치에 상대적입니다. relative 인수에 false를 전달하면 모든 부모 변환을 적용한 후 노드의 절대 위치를 반환합니다.

반환 구조체의 주요 멤버

멤버 데이터 타입 설명
left Real 노드의 왼쪽 가장자리의 계산된 X 위치
top Real 노드의 위쪽 가장자리의 계산된 Y 위치
width Real 노드의 너비
height Real 노드의 높이
bottom Real 노드의 아래쪽 가장자리의 위치 (부모 컨테이너에 상대적)
right Real 노드의 오른쪽 가장자리의 위치 (부모 컨테이너에 상대적)
hadOverflow Boolean 자식 노드가 노드의 경계를 넘어섰는지 여부를 나타내는 불리언
direction Flex Panel Layout Direction Constant 이 노드에 사용된 레이아웃 방향
paddingLeft Real 왼쪽 가장자리의 패딩 값
paddingRight Real 오른쪽 가장자리의 패딩 값
paddingTop Real 위쪽 가장자리의 패딩 값
paddingBottom Real 아래쪽 가장자리의 패딩 값
marginLeft Real 왼쪽 가장자리의 마진 값
marginRight Real 오른쪽 가장자리의 마진 값
marginTop Real 위쪽 가장자리의 마진 값
marginBottom Real 아래쪽 가장자리의 마진 값

문법

flexpanel_node_layout_get_position(node, [relative]);

인수 설명

인수 타입 설명
node Flex Panel Node 레이아웃 위치를 가져올 노드
relative Boolean 상대 위치(true, 기본값) 또는 절대 위치(false)를 반환할지 여부

반환 값

  • 구조체

활용 예제

예제 1: 노드의 상대 위치 가져오기

var position = flexpanel_node_layout_get_position(myNode);
show_debug_message("상대 위치: " + string(position.left) + ", " + string(position.top));

예제 2: 노드의 절대 위치 가져오기

var position = flexpanel_node_layout_get_position(myNode, false);
show_debug_message("절대 위치: " + string(position.left) + ", " + string(position.top));

예제 3: 노드의 크기와 패딩 정보 출력하기

var position = flexpanel_node_layout_get_position(myNode);
show_debug_message("너비: " + string(position.width) + ", 높이: " + string(position.height));
show_debug_message("왼쪽 패딩: " + string(position.paddingLeft));

예제 4: 자식 노드의 오버플로우 여부 확인하기

var position = flexpanel_node_layout_get_position(myNode);
if (position.hadOverflow) {
    show_debug_message("자식 노드가 경계를 넘어섰습니다.");
}

예제 5: 노드의 마진 값 출력하기

var position = flexpanel_node_layout_get_position(myNode);
show_debug_message("왼쪽 마진: " + string(position.marginLeft));
show_debug_message("오른쪽 마진: " + string(position.marginRight));