Discuss Scratch

LuhTheScratcher
Scratcher
86 posts

Então... Como atualiza esse troço aqui?

Eu to fazendo um jogo de fnaf,( Para outra plataforma) E eu quero ajuda com um negócio, o jogo é baseado em lista, e tem duas listas: FORA DO ESCRITÓRIO e NA PORTA. Então, o script não funciona!

SCRIPT
quando a tecla [espaço v] for pressionada :: hat events
se <[Na porta v] contém [Animatronic] ? :: list boolean
> então {
mude para a fantasia [Office com animatronic v] :: looks

} senão {
mude para a fantasia [Office sem v] :: looks

} :: control
espere (4) seg :: control
mude para a fantasia [Office escuro v] :: looks
Em teoria era pra trocar e ele não atualiza, mostra nada quando tem alguém ali, o que eu mudo ou adiciono?

Last edited by LuhTheScratcher (Jan. 20, 2023 18:42:35)


Desde 2020 fazendo sites, e jogos

Conta Roblox - Conta Scratch

Links de ajuda:
Scratch Wiki
Página de Ideias
Forums!

Tutu_32BR
Scratcher
6 posts

Então... Como atualiza esse troço aqui?

Oi Luh.
Não sei exatamente o que pode estar acontecendo, pois o seu código está correto. Ele deveria estar trocando.
Nesse caso, eu recomendo você revisar o seu código dentro deste ator. Às vezes, pode ser que haja algum loop que não está deixando a fantasia (ou sprite) trocar ou algo que está apagando o item “Animatronic” da lista.
Além disso, certifique-se de que você realmente está colocando esse item dentro da lista, sem apagá-lo, e tenha certeza de que ele está escrito da maneira correta, com maiúsculas e minúsculas iguais àquelas que estão dentro da condição (se <lista “Na porta” contém “Animatronic”>).
Em último caso, em último caso mesmo, você pode refatorar o código, isto é, refaze-lo completamente, corrigindo erros e apagando bugs que por ventura, passaram despercebidos.

Eu também recomendaria que todo funcionamento das fantasias do jogo dentro de único loop, que em vez de usar os blocos de evento, usaria os blocos de sensor. O problema é que isto pode ser um pouco complicado de fazer, porém, se você tem prática com blocos de sensor usuais (se tecla “x” pressionada, se tocando em “x”, mouse pressionado?, etc… Resumindo: esses blocos mais comuns) isso pode ser um pouco mais fácil pra você. Nesse caso, o código pode ficar muito mais eficiente. Entretanto, dependendo de como o projeto funciona, pode haver uma queda na performance. Enfim, se precisar de ajuda com isso, basta prender várias “se/senão” dentro de um loop “sempre”, de maneira organizada, para trocar as fantasias, que funcione paralelamente, isto é ao mesmo tempo que o código para preencher as listas.

Espero ter te ajudado de alguma forma.
Se precisar de mais alguma ajuda, fico feliz em ajudar!

Last edited by Tutu_32BR (March 5, 2023 12:10:17)

jojo_guy123
Scratcher
4 posts

Então... Como atualiza esse troço aqui?

e impressao minha ou devia ter um sempre antes do se na porta contem animatronic?
Tutu_32BR
Scratcher
6 posts

Então... Como atualiza esse troço aqui?

jojo_guy123 wrote:

e impressao minha ou devia ter um sempre antes do se na porta contem animatronic?
Acredito que não. Se houver um “sempre” antes da condição, o programa vai começar a repetir o código infinitamente, e isso vai bugar se, por exemplo, for necessário mudar para uma outra fantasia que não está incluída na condição (tipo uma: bathroom escuro. Só exemplificando) e isso só poderia ser feito com um bloco “pare outros scripts no ator”, o que poderia acabar criando mais problemas dentro do projeto, já que isso obrigaria outros códigos a pararem, e possivelmente, trariam mais um problema ao projeto.

Powered by DjangoBB