--- title: "Astra.GuiElement" version: snapshot-2026-10-07 engineGeneration: astra-current language: C# status: semantic-reference reviewedAt: 2026-10-07 appRelease: "0.2.3-preview.20261007" runtimeVerified: false platformEvidence: [] url: https://astraengine.com.br/pt-br/snapshot-2026-10-07/api/astra-guielement/ --- # Astra.GuiElement Stable ID and world identity; removed nodes and previous Play handles are rejected. **Namespace:** `Astra` · **Assembly:** `Astra.Scripting` · **Tipo:** Struct :::note[Sobre esta referência] Assinaturas extraídas semanticamente com Roslyn/MSBuild. Isso confirma a superfície do código deste snapshot; não comprova execução no Android. As descrições vêm dos comentários da API. Membros sem explicação ainda exigem revisão editorial. ::: ## Declaração ```csharp readonly struct Astra.GuiElement ``` Stable ID and world identity; removed nodes and previous Play handles are rejected. ## Onde acessar este tipo Editor → **Interface** → documento .aeui; cena → objeto **Canvas UI**. Dentro de um Behavior, **Gui.ForCanvas(owner)** seleciona a instância, **Find/TryFind** localiza o elemento e **Poll** consome eventos. GuiElement vem de Find/TryFind/Create; um valor default não é um elemento válido. [HUD completo](/pt-br/snapshot-2026-10-06/ui/hud-coracoes/). ## Roadmap e uso [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/): o membro presente nesta referência pertence ao contrato atual. O roadmap registra a família; não há promessa/data individual de evolução para cada membro. Membros ainda sem explicação especializada são indicados como revisão editorial pendente. Para ler os campos e recursos pelo caminho do editor, use [mapa de acesso](/pt-br/snapshot-2026-10-06/editor/mapa-de-acesso/). ## Membros | Membro | Categoria | |---|---| | [AddAction](#member-71f18290ac1e0de1) | Method | | [MoveAction](#member-b47844afaca0a82b) | Method | | [MoveEarlier](#member-11eb70eef10f16e1) | Method | | [MoveLater](#member-1030c8e134194cd6) | Method | | [OnClick](#member-2f99a2b0365e58fb) | Method | | [PlayAnimation](#member-bbe63e25613f0cf6) | Method | | [Remove](#member-0968773c6d3d2bc0) | Method | | [RemoveAction](#member-79c6a285cedcd35a) | Method | | [ReplaceAction](#member-74ff402bd5c6f4d5) | Method | | [SetText](#member-6c6c30bfe2d2ad5e) | Method | | [StopAnimation](#member-82dcd2be5f111698) | Method | | [Actions](#member-c5d4a49b75cd9bf3) | Property | | [Animation](#member-74074d2e783a7720) | Property | | [BaseImage](#member-23397b535bee7367) | Property | | [ControlSettings](#member-00b560a3f92ea766) | Property | | [Enabled](#member-c47f0377a5693811) | Property | | [Id](#member-38ac2f7a96814b60) | Property | | [Image](#member-ed6d8a5c0f1e5f24) | Property | | [ImageStyle](#member-f2f4baf04712c18e) | Property | | [Input](#member-e8d7476fafe037ab) | Property | | [InputAction](#member-aa396e785db9b17d) | Property | | [InstanceId](#member-8c665d50d28038d3) | Property | | [Interaction](#member-98cf867a260f179b) | Property | | [Kind](#member-212e81bd850173dc) | Property | | [KnobImage](#member-48be10cb12bd36f4) | Property | | [Layout](#member-79406adf2533f4a4) | Property | | [Name](#member-ee0a8b2f95201080) | Property | | [Sizing](#member-78bd0d9b53efeddf) | Property | | [Snapshot](#member-8d1da7affbefdd4a) | Property | | [Style](#member-12fdbbbd36a3871f) | Property | | [Text](#member-9cc0547eae8d9b0c) | Property | | [Transitions](#member-8fb27c340d69850e) | Property | | [Value](#member-ce081bb8f0a59f2f) | Property | | [Visible](#member-4618cde3c9ad7691) | Property |

AddAction

```csharp public void AddAction(Astra.GuiEventKind @event, Astra.GuiClickAction action, Astra.GuiElement target = default(Astra.GuiElement), float value = 0) ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Acrescenta listener ordenado após ação principal, no mesmo documento. Até 16 ações por elemento no formato atual. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `event` | `Astra.GuiEventKind` | | | `action` | `Astra.GuiClickAction` | | | `target` | `Astra.GuiElement` | · Opcional: `` | | `value` | `float` | · Opcional: `0` |

MoveAction

```csharp public void MoveAction(int index, int destination) ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Reordena listeners; ordem altera a sequência dos efeitos. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `index` | `int` | | | `destination` | `int` | |

MoveEarlier

```csharp public void MoveEarlier() ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Reordena o elemento na árvore runtime para posição anterior; observe desenho/hit/layout. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

MoveLater

```csharp public void MoveLater() ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Reordena o elemento na árvore runtime para posição posterior; observe desenho/hit/layout. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

OnClick

```csharp public void OnClick(Astra.GuiClickAction action, Astra.GuiElement target = default(Astra.GuiElement), float value = 0) ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Configura ação principal de clique e alvo da mesma instância; Notify permite consumir Poll. Para Image, o clique é opcional. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `action` | `Astra.GuiClickAction` | | | `target` | `Astra.GuiElement` | · Opcional: `` | | `value` | `float` | · Opcional: `0` |

PlayAnimation

```csharp public void PlayAnimation() ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Reinicia a transição configurada; precisa de animação habilitada válida. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Remove

```csharp public void Remove() ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Remove nó e subárvore da cópia runtime, invalida handles/ações afetados. Não remove o componente Canvas da cena. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

RemoveAction

```csharp public void RemoveAction(int index) ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Remove listener no índice indicado, preservando os demais. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `index` | `int` | |

ReplaceAction

```csharp public void ReplaceAction(int index, Astra.GuiActionBinding binding) ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Troca listener no índice indicado; preserve evento, alvo e argumento válidos. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `index` | `int` | | | `binding` | `Astra.GuiActionBinding` | |

SetText

```csharp public void SetText(string text) ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Altera string do elemento runtime; Image não desenha texto. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `text` | `string` | |

StopAnimation

```csharp public void StopAnimation() ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Para e restaura pose autoral. Não é pause/resume da transição. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Actions

```csharp public Astra.GuiActionBinding[] Actions { get; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Snapshot dos listeners adicionais; alterar o array retornado não substitui a lista no documento. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Animation

```csharp public Astra.GuiAnimation Animation { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Configuração de uma transição de duas poses; enabled/autoplay/loop e delay são campos distintos. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

BaseImage

```csharp public string BaseImage { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Imagem de base do Joystick no projeto. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

ControlSettings

```csharp public Astra.GuiControlSettings ControlSettings { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Modo/eixo/gate, raios, zonas mortas, resposta e visual do controle touch. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Enabled

```csharp public bool Enabled { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Participação em input/estado desabilitado; pode continuar desenhado. Ancestrais também influenciam. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Id

```csharp public uint Id { get; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Identificador local do nó, não identidade global entre documentos/Canvas. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Image

```csharp public string Image { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Caminho relativo de imagem dentro do projeto. Troca o recurso do elemento Image; não aceita URL/caminho externo. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

ImageStyle

```csharp public Astra.GuiImageStyle ImageStyle { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Fit e Tint da Image. Use with para conservar o outro campo. Conter preserva proporção e cabe inteira. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Input

```csharp public Astra.GuiControlSnapshot Input { get; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Estado bruto de gesto do controle (Value, Pressed, Pointer, Device). Não substitui ação do receptor. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

InputAction

```csharp public string InputAction { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Nome da ação compatível do catálogo do projeto. Não é GuiClickAction. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

InstanceId

```csharp public ulong InstanceId { get; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Identidade da instância runtime; não salve uma lease como referência autoral. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Interaction

```csharp public Astra.GuiInteraction Interaction { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Clicável, ação, alvo e argumento do clique; alvo 0 significa o próprio elemento. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Kind

```csharp public Astra.GuiKind Kind { get; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Tipo do elemento encontrado. Confira GuiKind.Image antes de tratar o nó como coração. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

KnobImage

```csharp public string KnobImage { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Imagem de puxador do Joystick no projeto. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Layout

```csharp public Astra.GuiLayout Layout { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Âncoras normalizadas e bordas em pixels do pai. Offsets são esquerda/topo/direita/base, não largura/altura. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Name

```csharp public string Name { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Nome exato usado por Find. ID e lease conservam identidade; renomear não converte outro handle. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Sizing

```csharp public Astra.GuiSizing Sizing { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Tamanhos mínimo/preferido, pesos e espaçamento do layout automático. Pai HBox/VBox/Grid pode controlar o retângulo. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Snapshot

```csharp public Astra.GuiSnapshot Snapshot { get; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Estado atual de tipo, visible/enabled e intervalo/valor, no contexto desta instância. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Style

```csharp public Astra.GuiStyle Style { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Fundo, conteúdo, destaque, clipping, fonte e raio. Cores usam 0xAARRGGBB; preserve campos com with. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Text

```csharp public string Text { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Lê/escreve conteúdo textual. Atualize o Text de status quando a vida mudar. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Transitions

```csharp public Astra.GuiTransitions Transitions { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Configura estados Normal, Pressionado e Desabilitado; combina pose/tinta com a animação. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Value

```csharp public float Value { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Escrita numérica para Toggle, Slider e Progress. Não altera vida nem preenchimento de Image. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Visible

```csharp public bool Visible { get; set; } ``` **Caminho:** Interface / Canvas UI → documento → elemento; use o contexto Gui.ForCanvas em Behavior. **Uso:** Liga/desliga a apresentação da subárvore. No HUD, esconde camada cheia e mantém a imagem vazia atrás. **Roadmap deste membro:** [Canvas e UI de jogo](/pt-br/snapshot-2026-10-06/ui/roadmap/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.