Discuss Scratch

AdrielCrafter
Scratcher
500+ posts

Ajuda para Iniciantes: Básico do Controle

Os blocos de Controle são MUITO importantes na hora de fazer projetos.
Eles vão fazer com que exista intervalos entre blocos, que códigos que se repitam, ou fiquem sendo executados em um loop sem fim
Hoje, ensinarei o básico deles!

sempre {
... :: stack gray
} @loopArrow :: cap control
Esse é um dos blocos mais usados por todos. Ele vai repetir para sempre o que houver dentro dele

repita (10) vezes {
... :: stack gray
} :: control
Vai repetir o código que há dentro dele um número específico de vezes. É muito usado em projetos escolares

espere (1) segs. :: stack control
... :: stack gray
Faz um intervalo de alguns segundos. O tempo de intervalo será especificado no bloco

se <> então {
... :: stack gray
} :: control
Vai detectar se algum boolean é verdadeiro, para executar algum script.

se <> então {
... :: stack gray
} senão {
... :: stack gray
} :: control
Uma variação do bloco anterior. Se o boolean é verdadeiro, irá executar um script. Se for falso, executará outro

espere até que <> :: stack control
... :: stack gray
Diferente dos anteriores, que detectam instantaneamente se o boolean é verdadeiro ou não, esse aqui vai ESPERAR que ele seja verdadeiro

repita até que <> {
... :: stack gray
} :: control
Esse bloco é um pouco mais complicado. Diferente do anterior, em vez de esperar, ele vai repetir um código ATÉ QUE O BOOLEAN SEJA VERDADEIRO

pare [todos] :: cap control
Nesse bloco você tem 3 opções: Parar o projeto, para o script em que o bloco se encontra, e parar outros scripts dentro do Ator…

Quando eu começar como clone :: hat control
... :: stack gray
Quando um clone for criado, o script que o clone deve fazer será feito nesse bloco

crie clone de [este ator] :: stack control
Criar um clone de um ator específico, ou do ator em que o código se encontra (este ator)

apague este clone :: cap control
Esse bloco DEVE estar anexado num script que comece com o bloco “quando eu começar como clone”, para apagar o clone.
(Correção: o bloco funciona se ele estiver sendo executado num clone)

Exemplo:
quando começar como clone :: hat control
... :: stack gray
apague esse clone :: cap control

Isso foi tudo.
Qualquer dúvida, só perguntar!
Tchau!

Last edited by AdrielCrafter (June 10, 2021 16:51:35)

Fupicat
Scratcher
1000+ posts

Ajuda para Iniciantes: Básico do Controle

Só uma correção:

AdrielCrafter wrote:

apague este clone :: cap control
Esse bloco DEVE estar anexado num script que comece com o bloco “quando eu começar como clone”, para apagar o clone.
Isso não é verdade, inclusive eu uso esse bloco bastante como forma de deletar todos os clones do projeto. Tá certo que se você executar esse bloco num ator normal ele não vai fazer nada, mas ele ainda pode ser executado por qualquer outro bloco de evento, se o evento tiver acontecido num clone. Por exemplo:

quando @greenFlag for clicado :: hat events
repita (10) vezes {
crie clone de [este ator v] :: control
} :: control

quando eu começar como clone :: hat control
sempre {
diga [Eu sou um clone] :: looks
vá para [posição aleatória v] :: motion
} @loopArrow :: control cap

quando a tecla [espaço v] for pressionada :: hat events
transmita [apague todos os clones v] e espere :: events
diga [Agora só sobrou o ator principal] :: looks

quando eu receber [apague todos os clones v] :: hat events
apague este clone :: control cap

Nesses scripts, se você apertar a barra de espaço a qualquer momento, todos os clones desse ator são deletados e só sobra o ator que não é um clone. O bloco “apague este clone” não está dentro de um bloco “quando eu começar como clone” e ainda funciona. É bem útil!
AdrielCrafter
Scratcher
500+ posts

Ajuda para Iniciantes: Básico do Controle

realmente, se o evento ocorrer num clone, ele deleta. Eu uso bastante ele, mas esqueci disso.

Powered by DjangoBB