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));