Pular para o conteúdo
AstraDOCS

Layout e campos comuns da UI

Entenda âncoras, bordas, containers, estado e aparência antes de ajustar o HUD.

Selecione o elemento na Hierarquia sob o Canvas ou na árvore da área Interface. Os grupos Estado, Layout, Aparência, Composição automática, Interação, Ações, Estados visuais e Animação aparecem conforme o tipo e seu pai. Campos escondidos podem depender do contexto.

Campo / API Efeito e uso
Âncora inicial / GuiLayout.AnchorMin X/Y normalizados do pai: 0 é esquerda/topo, 1 é direita/base. Padrão (0,0).
Âncora final / GuiLayout.AnchorMax Extremo oposto no pai. Igual à inicial conserva tamanho definido pelas bordas; diferente acompanha o tamanho do pai.
Bordas / GuiLayout.Offsets Esquerda, topo, direita, base, em pixels relativos às respectivas âncoras. Não são X, Y, largura, altura.
Esticar Preset com âncoras (0,0)–(1,1) e bordas 16,16,-16,-16; mantém margens no pai.
Centralizar Coloca as duas âncoras em (0,5;0,5) e bordas simétricas, preservando o tamanho medido.
Recortar filhos / Style.ClipChildren Restringe desenho/hit dos descendentes ao retângulo. Um filho para fora pode desaparecer.

Para um Image 48 × 48 no canto superior esquerdo do pai, use âncoras (0,0) e (0,0), bordas 0,0,48,48. Para outro 8 px à direita, use 56,0,104,48. Na raiz, o retângulo do Canvas Tela acompanha o viewport. Não há CanvasScaler por resolução de referência entregue nesta versão.

Campo / API Efeito e uso
Tamanho mínimo / Sizing.Minimum Limite mínimo XY do filho. Padrão (0,0); escolha 48 × 48 para um coração que não deve encolher.
Preferido (0 = medir) / Preferred Tamanho desejado. Zero usa a medição do conteúdo; Image pode medir a textura inteira, portanto defina 48 × 48 para um PNG grande.
Peso de expansão / Flexible Distribui espaço extra nos filhos de HBox/VBox. Peso zero conserva o tamanho preferido; não é propriedade de expansão de Grid.
Padding / Padding Margens internas esquerda, topo, direita, base. Padrão 8 em cada lado.
Espaçamento / Spacing Distância entre filhos; HBox usa X, VBox usa Y, Grid usa ambos. Padrão 8.
Alinhamento / Alignment Início, Centro, Fim ou Esticar no espaço do container. Padrão Esticar.
Colunas / Columns Quantidade de colunas do Grid, 1–64 no editor; padrão 2.
Fora do fluxo / Ignore Retira esse filho da distribuição; libera âncoras e arraste. Ele ainda pertence à árvore.

Quando HBox/VBox/Grid controla o filho, os campos de layout manual ficam bloqueados. Use tamanho, peso e ordem. Um container não é uma lista de objetos da cena e não faz data binding de inventário.

Campo / API Efeito e uso
Visível / Visible Esconde o elemento e sua subárvore no runtime; em container, um filho invisível deixa de participar da medição. Use overlay em Panel para conservar o espaço de um coração vazio.
Habilitado / Enabled Controla a participação na entrada e o estado desabilitado. Pode continuar visível. Ancestrais desabilitados afetam os filhos.
Nome / Name Busca exata de Find/TryFind; mantenha nomes únicos. Nome não é o ID persistente.
Texto / Text Conteúdo de Text e controles textuais. Image não desenha texto.
Desenhar fundo / Style.Background Ativa alpha do fundo; desligado não adiciona uma placa atrás da imagem.
Fundo, Texto / Controle e Destaque Cores de pintura: fundo, conteúdo e preenchimento de controles. C# usa 0xAARRGGBB.
Fonte / FontSize Tamanho do texto em pixels; editor 6–128. Não é a resolução do Canvas.
Raio / Radius Arredondamento do fundo desenhado. Não cria recorte por máscara na imagem.
Valor / Value Estado numérico de Toggle, Slider e Progress. Image não consome Value como vida/preenchimento.
Mínimo / Máximo Intervalo autorado do Slider/Progress; Máximo precisa superar Mínimo. Snapshot permite ler o intervalo; o setter Value é separado.

As propriedades de GuiLayout, GuiSizing, GuiStyle e GuiImageStyle são records. Para preservar os outros campos, use with:

var hud = Gui.ForCanvas(Object);
var heart = hud.Find("Heart1");
heart.Layout = heart.Layout with { Offsets = new System.Numerics.Vector4(0, 0, 48, 48) };
heart.ImageStyle = heart.ImageStyle with { Fit = GuiImageFit.Contain };

Essas escritas exigem Behavior em Play, no proprietário do Canvas. Alteram a cópia runtime. Consulte diagnóstico do HUD para fonte ausente, handles vencidos e layout controlado pelo pai.