Organizando projetos grandes: blocos customizados e atores-função
Um projeto pequeno cabe na cabeça; um projeto grande, não. Quando os scripts passam de algumas telas, encontrar e mudar coisas vira um pesadelo — a não ser que você organize. As ferramentas de organização do Wicand Blocks são as mesmas que programadores profissionais usam: funções, nomes claros e separação de responsabilidades.
Blocos customizados (Meus Blocos)
Um bloco customizado empacota um grupo de blocos sob um nome só. Em vez de repetir dez blocos de resolução de colisão em três scripts diferentes, você cria o bloco “resolve colisão” uma vez e o chama onde precisar. Se a lógica mudar, você ajusta em um lugar só.
Blocos customizados aceitam parâmetros — valores que você passa na chamada, como argumentos de uma função de verdade:
// definição: bloco "dano [quantidade]"
define dano (quantidade):
adicione (-quantidade) a vida
se vida ≤ 0:
envie mensagem "game_over"
// uso, em qualquer ator:
dano 25No código gerado, cada bloco customizado vira uma função JavaScript — ver isso no painel de código é uma ótima ponte para entender o conceito de função.
Atores-função: lógica reutilizável entre atores
Enquanto blocos customizados vivem dentro de um ator, os atores-função são pacotes de lógica que podem ser chamados por QUALQUER ator e até exportados para outros projetos. O bloco “rode função [ator-função]” executa o corpo do ator-função no contexto de quem chamou, passando atributos como parâmetros.
Use atores-função para comportamentos genéricos que muitos atores compartilham: uma rotina de patrulha, um sistema de saúde, um cálculo de física. É a forma de evitar copiar e colar lógica entre personagens diferentes.
Separe dados de lógica
O princípio mais poderoso de todos: dados (números, mapas de fase, tabelas de inimigos) devem morar em listas e variáveis; a lógica (os scripts) só lê esses dados. Assim, criar uma fase nova é editar uma lista, não reprogramar nada.
- ▸Mapa da fase → uma lista TILE_GRID, lida por um gerador genérico.
- ▸Atributos de inimigos (vida, velocidade) → listas paralelas, indexadas por tipo.
- ▸Textos de diálogo → uma lista, exibida por um único ator de interface.
Hábitos que escalam
- ▸Nomes descritivos: velocidadeY comunica mais que vy quando o projeto cresce.
- ▸Um ator “Gerente” que coordena o jogo por mensagens, em vez de espalhar a lógica de fluxo por todos os atores.
- ▸Inicialize tudo no “quando iniciar” para o jogo reiniciar limpo.
- ▸Comente a intenção com blocos de fala temporários ou nomes de mensagens claros (“construir_fase”, “game_over”).
Refatore quando sentir dor, não antes. Se você se pegou copiando o mesmo grupo de blocos pela terceira vez, é hora de transformá-lo em um bloco customizado ou ator-função.
Pronto para colocar em prática?
Abrir o editor