Blocos de Eventos e Controle

Eventos definem QUANDO um script roda; blocos de controle definem COMO o fluxo se comporta — repetições, decisões e pausas. Juntos, eles formam o esqueleto de qualquer programa: os outros blocos são sempre executados dentro de uma estrutura de eventos e controle.

No código gerado, eventos viram registradores de handlers (o “quando iniciar” é o corpo principal do programa) e os blocos de controle viram as estruturas if, for e while do JavaScript ou Python.

Quando iniciarevento

Dispara quando o projeto começa (botão Play). É o ponto de entrada do script principal de cada ator — use para inicializar variáveis, posição e visibilidade.

Quando iniciar → mude pontuação para 0 → vá para x: 0 y: 0
Quando tecla pressionadaevento

Dispara a cada vez que a tecla escolhida é pressionada. Para movimento contínuo, prefira o sensor “tecla pressionada?” dentro de um loop Sempre.

Quando este ator for clicadoevento

Dispara quando o usuário clica no ator durante a execução. Útil para botões e interações de mouse.

Quando receber [mensagem]evento

Dispara quando alguém executa “envie mensagem” com o mesmo nome. É o mecanismo de comunicação entre atores.

Quando receber “game_over” → mostre tela final
Envie mensagemcomando

Transmite uma mensagem para todos os atores do projeto. Todos os scripts “quando receber” com esse nome são executados.

Semprebloco C

Repete o conteúdo indefinidamente, uma vez por quadro (60 vezes por segundo). É o coração do loop de jogo: física, animação e leitura de teclado normalmente vivem aqui.

Repita [n] vezesbloco C

Executa o conteúdo um número fixo de vezes. Vira um for no código gerado.

Repita (tamanho de LISTA) vezes → processa cada item
Repita até [condição]bloco C

Repete o conteúdo até a condição booleana se tornar verdadeira. Útil para “empurrar até não tocar mais” em colisões.

Se [condição]bloco C

Executa o conteúdo apenas se a condição for verdadeira. A versão “Se … senão” executa um segundo grupo quando for falsa.

Espere [n] segundoscomando

Pausa o script pelo tempo indicado sem travar os outros scripts — eles continuam rodando em paralelo.

Crie clone de [ator]comando

Cria uma cópia em tempo de execução do ator escolhido (ou de si mesmo). O clone herda posição, fantasia e os valores atuais das variáveis locais.

Quando clone iniciarevento

Roda em cada clone recém-criado — é o “quando iniciar” dos clones. O script principal do ator original não roda nos clones.

Apague este clonecomando

Remove o clone que está executando o script. Sempre apague clones que saíram da tela ou foram consumidos.