Flexpanel 레이아웃 계산 함수
이 문서는 flexpanel_calculate_layout
함수에 대한 설명입니다. 이 함수는 주어진 노드와 그 자식 노드들의 레이아웃 데이터를 계산합니다. 계산된 레이아웃은 flexpanel_node_layout_get_position
함수를 통해 반환됩니다. 이 함수를 사용하기 전에 최소한 한 번은 실행해야 하며, 그렇지 않으면 노드(및 자식 노드)의 모든 위치는 0으로 설정됩니다. 해상도가 변경될 경우 레이아웃을 다시 계산하기 위해 이 함수를 다시 실행할 수 있습니다.
함수 설명
이 함수는 레이아웃 계산을 위해 루트 노드가 "배치"되는 width
와 height
를 필요로 합니다. 예를 들어, 루트 노드의 width
가 "100%"이고, 이 함수에 전달하는 너비가 560이라면, 루트 노드 캔버스의 너비는 560픽셀이 됩니다. 이러한 치수는 레이아웃이 활성화된 캔버스의 최종 해상도로 볼 수 있습니다. 예를 들어, 전체 화면 인터페이스를 만들 때 이러한 치수는 게임 창의 크기와 같아야 하며, 게임 내의 작은 창에 포함된 인터페이스의 경우 해당 창의 치수가 됩니다.
너비 또는 높이는 정의되지 않을 수 있으며, 이 경우 무한히 확장됩니다. 레이아웃 방향은 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로 선택해야 하며, 이를 위해 Flex Panel Layout Direction Constant
를 전달해야 합니다.
문법
flexpanel_calculate_layout(root, width, height, direction);
인수 설명
인수 | 유형 | 설명 |
---|---|---|
root | Flex Panel Node | 계산이 수행될 노드 |
width | Real 또는 undefined | 루트 노드가 계산되는 너비 |
height | Real 또는 undefined | 루트 노드가 계산되는 높이 |
direction | Flex Panel Layout Direction Constant | 모든 노드에 사용할 방향 |
반환값
- N/A
예제
flexpanel_calculate_layout(n_root, room_width, room_height, flexpanel_direction.LTR);
이 코드는 n_root
노드의 레이아웃을 방의 치수를 사용하여 왼쪽에서 오른쪽 방향으로 계산합니다.
활용 예제
- 기본 레이아웃 설정
flexpanel_calculate_layout(n_root, 800, 600, flexpanel_direction.LTR);
- 해상도 변경 시 레이아웃 재계산
flexpanel_calculate_layout(n_root, new_width, new_height, flexpanel_direction.RTL);
- 무한 확장 레이아웃
flexpanel_calculate_layout(n_root, undefined, 400, flexpanel_direction.LTR);
- 다양한 방향으로 레이아웃 설정
flexpanel_calculate_layout(n_root, 1024, 768, flexpanel_direction.LTR); flexpanel_calculate_layout(n_root, 1024, 768, flexpanel_direction.RTL);
- 다양한 크기의 창에서 레이아웃 적용
flexpanel_calculate_layout(n_root, 1280, 720, flexpanel_direction.LTR); flexpanel_calculate_layout(n_root, 640, 480, flexpanel_direction.RTL);