---
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.