Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Passar de room ao pegar chave Tópico resolvido
Passar de room ao pegar chave
Como posso criar uma chave, e quando o player pegar ela, ele poder abrir uma porta
Re: Passar de room ao pegar chave
em create do player:
na colisão com o objeto chave:
Na colisão com a porta:
Esta bem basico, mas ja da uma idéia
Código: Selecionar todos
chave = false;
Código: Selecionar todos
chave = true;
with(other){instance_destroy()}
Código: Selecionar todos
if(chave == true){ room_goto(nome da room)}
- Rodrigo Santiago
- Colaborador
- Reações: 0
- Mensagens: 273
-
Re: Passar de room ao pegar chave Tópico resolvido
Primeiro vamos criar variáveis, que são objetos na memoria que guardam valores, as variáveis podem ser acessadas pelo objeto que criou elas, pra ter uma variavel em que todos acessem ela precisa ser global.
Então vamos lá :
Crie um objeto chamado Controlador.
No evento GameStart (vai em Others > GameStart) coloque o seguinte codigo :
Explicação :
Aqui criamos a variavel "global.chave_1" ela possui o valor 'false'. Quando o jogador pegar a chave vamos mudar pra true.
Crie um objeto chamado Chave e ponha uma bela sprite de chave nele
No evento Create coloque :
Explicação :
Caso a chave ja tenha sido pega, ele vai se auto destruir, ou seja, não vai mais aparecer na room caso o jogador volte para ela
No Objeto que é o jogador, crie um evento de colisão com o objeto Chave, e coloque o seguinte codigo :
Explicação :
Aqui mudamos o valor da variável para true, ou seja, ele 'pegou' a chave. E depois destruímos a chave
No objeto que é a Porta ponha o seguinte codigo na colisao com o jogador :
Explicação :
Nesse codigo ele vai pra proxima room apenas se ele tiver a chave, e note que ele 'perde' a chave, ja que o valor da variavel volta a ser 'false'
Então vamos lá :
Crie um objeto chamado Controlador.
No evento GameStart (vai em Others > GameStart) coloque o seguinte codigo :
Código: Selecionar todos
global.chave_1 = false;
Aqui criamos a variavel "global.chave_1" ela possui o valor 'false'. Quando o jogador pegar a chave vamos mudar pra true.
Crie um objeto chamado Chave e ponha uma bela sprite de chave nele
No evento Create coloque :
Código: Selecionar todos
if (global.chave_1 == true) instance_destroy();
Caso a chave ja tenha sido pega, ele vai se auto destruir, ou seja, não vai mais aparecer na room caso o jogador volte para ela
No Objeto que é o jogador, crie um evento de colisão com o objeto Chave, e coloque o seguinte codigo :
Código: Selecionar todos
global.chave_1 = true;
with(other) instance_destroy();
Aqui mudamos o valor da variável para true, ou seja, ele 'pegou' a chave. E depois destruímos a chave
No objeto que é a Porta ponha o seguinte codigo na colisao com o jogador :
Código: Selecionar todos
if (global.chave_1 == true) {
global.chave_1 = false;
room_goto_next();
}
Nesse codigo ele vai pra proxima room apenas se ele tiver a chave, e note que ele 'perde' a chave, ja que o valor da variavel volta a ser 'false'
Quem está online
Usuários navegando neste fórum: Google [Bot] e 1 visitante