--- title: "Como um script funciona" version: snapshot-2026-10-28 engineGeneration: astra-current language: C# status: source-reviewed reviewedAt: 2026-10-26 appRelease: "0.4.0-preview.20261028" runtimeVerified: false platformEvidence: [] url: https://astraengine.com.br/guia/scripts/como-funciona/ --- # Como um script funciona Criar um componente C#, ligar a um objeto, os métodos que rodam a cada quadro, campos no Inspector e como achar outros componentes. > **Conferido na fonte e no computador** · APK 0.4.0 · API e fluxo de compilação conferidos na fonte Um script da Astra é um **componente C#**: uma classe que herda de `Behavior` e é adicionada a um objeto como qualquer outro componente. ## Criar e ligar 1. No painel **Arquivos**, toque o ícone de **código** › **Novo componente C#**. 2. Escreva o código, toque **Salvar tudo** e **Recompilar projeto**. Erros aparecem no console do espaço Código. 3. No objeto, **Adicionar componente** › **Scripts do projeto** › o seu script. O Play só começa com a compilação em dia ("Aguarde a compilação antes de Play"). ## O esqueleto ```csharp using Astra; using Astra.Components; [ComponentId("meujogo.girar")] // identidade única no projeto public sealed class Girar : Behavior { [PropertyId("graus_por_segundo")] // aparece no Inspector public float GrausPorSegundo = 90; public override void Start() { } // uma vez, ao começar o Play public override void Update(float seconds) { } // a cada quadro public override void FixedUpdate(float seconds) { } // a cada passo da física public override void Disable() { } // quando o componente é desligado } ``` ## Achar e mudar componentes `Object.GetComponent()` devolve o componente do mesmo objeto, ou nada: ```csharp if (Object.GetComponent() is { } luz) luz.Intensity = 2; ``` Cada componente nativo tem uma fachada com os campos do Inspector (por exemplo [Light](/pt-br/snapshot-2026-10-28/api/astra-components-light/), [TimeOfDay](/pt-br/snapshot-2026-10-28/api/astra-components-timeofday/), [Weather](/pt-br/snapshot-2026-10-28/api/astra-components-weather/)). A lista completa está na [Referência C#](/pt-br/snapshot-2026-10-28/api/). ## Entrada e registro - `Input.Pressed("Saltar")` diz se a ação está apertada; as ações vêm de **Configurações do projeto › Entrada**. - `Scene.Log(ObjectId, "mensagem")` escreve no console. Exemplo completo com entrada: [o script Correr do Fazer um player](/guia/criar/fazer-um-player/).