primeiros problemas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

primeiros problemas

Mensagem por Dnmaster2 em Dom 19 Abr 2009, 08:25

ola a todos e tenho uns problemas com o meu jogo.... eu gostava que me ajuda sem...


O meu jogo é daqueles jogos em que temos uma barra e uma bola... e temos que destruir outros blocos...
Bem o meu jogo esta a ir bem mas falta uma coisas que não sei fazer.

1º-como faço o menu, acho que tenho uma ideia como seja mas não sei como é.

2º- Meti fantasmas do pacman... deveria mudar e depois ser Destrói mas não da muda e não destrói...

Fiz ( monstro 1 quando esta em colisão com a bola muda para monstro 2.... monstro 2 quando esta em colisão com a bola destrói) (não fiz em GML)

mas não faz nada muda mas não destrói...

3º fazer para ter 3 vidas.......

4º fazer os pontos..

5º tenho uma som numa bola quando muda para outra deveria ter outro som.... mas como....????

Dnmaster2

Número de Mensagens : 104
Idade : 25
Data de inscrição : 18/04/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: primeiros problemas

Mensagem por Alex FC em Dom 19 Abr 2009, 11:37

Kra tem uma engine de ARKANOID e uma de PACMAN aqui no forum! Só procurar!

Use o sistema de busca por favor! blz?

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Re: primeiros problemas

Mensagem por CPinheiro em Dom 19 Abr 2009, 15:10

1º-como faço o menu, acho que tenho uma ideia como seja mas não sei como é.

Seja mais específico. Vá fazendo o menu, e na parte que der erro ou problema, poste.

2º- Meti fantasmas do pacman... deveria mudar e depois ser Destrói mas não da muda e não destrói...

Faça assim: delete o segundo objeto de fantasma de seu jogo. Na colisão do primeiro objeto de fantasma, cheque qual o sprite do jogador. Em GML, o comando que representa o sprite atual é o sprite_index. Você pode fazer ele mudar de sprite assim:

Código:

sprite_index=nome_do_sprite;

Para checar o sprite que ele está agora, use o if. É a mesma coisa que "Se", em português. Depois, você coloca o que irá acontecer se a condição for verdadeira dentro de chaves. Vamos fazer isso:

- Se o sprite for o 1
{
- Muda para sprite 2
}
- Se o sprite for o 2
{
- Destroi o objeto
}

Para destruir um objeto, usamos o comando instance_destroy, dessa forma:
Código:

instance_destroy();

Então, no if você faz isso:

Código:

if sprite_index==nome do sprite //Se o sprite for esse, o código abaixo é executado. Se não for, o código abaixo NÃO é executado.
{ //Abre a chave
sprite_index=nome_do_outro_sprite; //Faz o fantasma mudar de sprite
}//Fecha a chave

Depois, você faz a mesma coisa, mudando o sprite do comando if e substituindo o sprite_index que está dentro das chaves por instance_destroy();. Simples, não?

3º fazer para ter 3 vidas.......
Existe uma variável (é um espaço que guarda um valor, como vidas, pontos, munição, velocidade, força, etc.) no Game Maker chamada lives, que é feita justamente para contar vidas. Na tela inicial do jogo (NÃO pode ser em uma fase, se não o personagem sempre vai ter a quantidade de vidas iniciais, nunca vai perder), coloque em algum objeto o seguinte código, no evento Create:

Código:

lives=valor; //Em valor, você coloca a quantidade de vidas iniciais

Depois, no evento em que o personagem morre, você precisa checar quantas vidas o personagem tem. Podemos usar o comando if novamente, para checar o valor da variável lives. Primeiro, subtraímos uma vida (no caso, diminuimos 1 da variável lives). Então, nós vamos ver se ela for maior do que 0. Se for, o jogador perde uma vida e a fase recomeça, se não for maior do que zero, o jogo acaba.

Se lembra de < e >, que aprendemos no ensino fundamental? Mas usá-los agora:

Código:

if lives>0 //Se a variável lives, que é a quantidade de vidas, for MAIOR que zero, o código seguinte é executado:
{//Abre chave

Antes, precisamos diminuir uma vida do jogador, desse jeito:

Código:

lives -= valor; //use -= para diminuir e += para somar.

Então, ficaria assim:

Código:

lives -= valor; //use -= para diminuir e += para somar.
if lives>0//Se a variável lives, que é a quantidade de vidas, for MAIOR que zero, o código seguinte é executado:
{//Abre chave
//Código
}//Fecha chaves

Só que precisamos fazer a fase recomeçar. Para isso, podemos usa o comando room_restart, que faz a room atual ser reiniciada. Desse jeito:

Código:

room_restart(); //Faz a room atual ser reiniciada, ou seja, a fase recomeçar.

Ficaria assim:

Código:

lives -= valor; //use -= para diminuir e += para somar.
if lives>0//Se a variável lives, que é a quantidade de vidas, for MAIOR que zero, o código seguinte é executado:
{//Abre chave
room_restart(); //reinicia a fase.
}//Fecha chaves

Mas, e se a vida NÃO for maior que zero? Podemos usar o else. O else funciona assim: você o coloca depois de uma condição (um if). Se o if NÃO for verdadeiro, o código do else é executado. Ficaria algo assim:

Código:

lives -= valor; //use -= para diminuir e += para somar.
if lives>0//Se a variável lives, que é a quantidade de vidas, for MAIOR que zero, o código seguinte é executado:
{//Abre chave
room_restart(); //reinicia a fase.
}//Fecha chaves
else //Se a variável lives, que é a quantidade de vidas, NÃO for maior que zero
{
//Código
}

Em //Código, nós precisamos fazer o jogo acabar. Existem dois códigos que podem ser usados:

Código:

game_restart();

O código acima faz o jogo ser reiniciado, ou seja, faz com que o jogo seja "reaberto", que recomece do zero.

Código:

game_end();

Esse é diferente. Faz com que o jogo seja fechado, ou seja, sem reiniciar.
Depois, no lugar de código, você coloca um desses dois acima.

Flw...


Última edição por CPinheiro em Dom 19 Abr 2009, 15:34, editado 2 vez(es)

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: primeiros problemas

Mensagem por Dnmaster2 em Dom 19 Abr 2009, 15:28

obrigado.... vou experimentar...

Dnmaster2

Número de Mensagens : 104
Idade : 25
Data de inscrição : 18/04/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: primeiros problemas

Mensagem por CPinheiro em Dom 19 Abr 2009, 15:35

Modifiquei o post, agora está com a resposta para as vidas também. o/
Espero ter ajudado. =)
Quero créditos no jogo, hein? x)

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: primeiros problemas

Mensagem por Dnmaster2 em Dom 19 Abr 2009, 17:51

lool ok ....

Criador
Dnmaster2



especial aquecimento

cpinheiro

Por ter ajudado na realização do jogo.

Dnmaster2

Número de Mensagens : 104
Idade : 25
Data de inscrição : 18/04/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: primeiros problemas

Mensagem por Conteúdo patrocinado Hoje à(s) 00:10


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum