Pular para o conteúdo
Baixar

Objetos sem código

Você quer um chão, uma parede ou um espinho: coisas que só ficam paradas na fase. Elas não precisam de código.

Em Recursos, clique com o botão direito numa pasta e escolha Novo objeto (sem código)…. O objeto é criado só com os dados: sprite, Sólido, máscara, física e o resto do que está no Inspetor.

Arraste-o para a room como qualquer outro objeto.

Um objeto sem código não tem classe, então não dá para escrever onCollide<Espinho>. Use o nome do objeto entre aspas:

void Player::onSpawn() {
onTouchStart("Espinho", [this](Entity&) { restart(); });
}

As funções que aceitam o nome:

Para Funções
Saber se encosta touching("Espinho"), collidesAt("Espinho", x, y + 1), findAt("Espinho", x, y)
Reagir ao contato onCollide("Espinho", ...), onTouchStart("Espinho", ...), onTouchEnd("Espinho", ...)
Contar e percorrer count("Moeda"), any("Moeda"), each("Chao", ...), destroyAll("Moeda")

Elas também valem para objetos com classe.

Para o jogador não atravessar um objeto, basta marcar Sólido nele: moveAndStop e placeFree já respeitam todos os sólidos, com ou sem código.

Um objeto sem código não tem eventos nem variáveis no código. Se ele precisar se mexer, contar tempo ou guardar um valor, crie com Novo objeto….