Problemas com meu primeiro jogo

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

Problemas com meu primeiro jogo

Mensagem por masterblod em Qua 26 Maio 2010, 21:45

Olá!
Bom, eu estou criando um jogo no estilo Arkanoid (Aquele que vc tem que quebrar os bloquinhos,sabe?),e me deparei com alguns problemas:

1.Como eu queria fazer com que a bola ficasse em cima da raquete até que o jogador apertasse a tecla "espaço", eu criei um sprite da bola e da raquete juntas. Daí, no evento "Space Key" desse objeto, eu fiz com que ele se transformasse no sprite só da raquete. O problema é que, quando eu mando criar uma nova bola, eu nao consigo fazê-la aparecer em cima da raquete, porque eu tenho que definir as coordenadas de onde ela deve aparecer. Se eu deixo como Relativo, ela trava junto com a raquete e nada mais se meche. Como eu posso fazer pra bola aparecer e executar sua programção?

2.Meu jogo vai ter também um Power-up que permite que o jogador atire nos bloquinhos. Eu preciso saber como eu posso fazer pra que ele só possa atirar uma vez a cada 2 segundos.

3. Meu último problema é que, eu preciso que quando todos os blocos sejam destruídos, o jogo passe para o próximo level. Como posso fazer isso?

Bom, essas são minhas dúvidas. Se eu não fui claro, me falem que eu tento explicar de outra forma. Desde já agradeço Very Happy

masterblod

Número de Mensagens : 3
Data de inscrição : 26/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problemas com meu primeiro jogo

Mensagem por fonetico em Qua 26 Maio 2010, 22:03

Vou tentar te ajudar.

Primeira pergunta:
Não é necessário ter a sprite da bola e da raquete junta, simplesmente, no objeto da bola, no evento create coloque:

Código:
global.parada = true
Essa variável vai definir quando a bola deve ficar em cima da raquete.

Depois, no evento step da bola, coloque:

Código:
if global.parada = true { x = obj_raquete }
Esse código faz com que, se a bola estiver parada, ela ficará na posição horizontal da raquete, ou seja, as duas andarão juntas.

E por fim, no objeto da raquete, no evento step coloque:

Código:
if keyboard_check(vk_space)
{
global.parada = false;
//código para a bola subir
}
Ao apertar espaço, a variável será negativa, fazendo a bola NÃO MAIS SEGUIR A RAQUETE, e embaixo, você coloca o código da bola subir.

Segunda dúvida:
Essa já é um pouco complicada, mas vamos tentar.
Para fazer ele atirar a cada dois segundos, faça assim:
No create da raquete:
Código:
tiro = true //pode atirar

E no step da raquete coloque:
Código:
if tiro = true //se poder atirar
{
if keyboard_check(vk_space) //se o espaço for apertado
        {
            alarm[0] = 2*room_speed; //seta o alarme a 2 segs
            tiro = false;
            instance_create(x,y,obj_tiro) //cria o objeto de tiro
        }
}

Agora crie um evento alarm 0 e nele coloque:

Código:
tiro = true //pode atirar

Espero que funcione!

Quanto à terceira dúvida depende, se você usa mesmos blocos ou blocos diferentes.

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Problemas com meu primeiro jogo

Mensagem por masterblod em Qua 26 Maio 2010, 22:13

Bom, em primeiro lugar obrigado por responder! =P
É que eu não aprendi direito a mecher com variáveis, esse é o meu primeiro jogo hehehe
Será que tem como me explicar quais opções eu tenho que usar pra definir as variáveis?

masterblod

Número de Mensagens : 3
Data de inscrição : 26/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problemas com meu primeiro jogo

Mensagem por RodrigoM. em Qua 26 Maio 2010, 22:19

normalmente para mudar de room quando destroi os objetos, a Logica continua a mesma, independente da quantidade de objetos.

if !instance_exists(obj_bloco1 && obj_bloco2) then room_goto_next(); //


espero que tenha sido isso que você quis dizer souzalucas.

Edit----

masterblod escreveu:Bom, em primeiro lugar obrigado por responder! =P
É que eu não aprendi direito a mecher com variáveis, esse é o meu primeiro jogo hehehe
Será que tem como me explicar quais opções eu tenho que usar pra definir as variáveis?

Já que estou aqui no topico, se não se importar posso responder para vocÊ.

Como o nome já diz Variavel, Muda conforme você queira, ela pode variar durante o jogo, ou variar uma vez só.

Uma variavel tem que ser declara antes de variar seu valor, para que o GM saiba que ela existe.

Para isso se utiliza o evento Create, onde é o primeiro evento a ser iniciado, Veja pela orden que é criado:
create, Alarm, step, eventos de movimento(Teclado mouse), etc...

A orden que é criado é a orden de execução.

quando uma variavel já é declarada, podemos começar a trabalhar com ela, já que o GM sabe que ela existe, então em umevento em que fica sendo verficado o tempo todo uma ação, como o step ou o draw, você pode colocar para essa variavel aumentar 1 em seu valor, para por exemplo mudar a posição x de um objeto:
Create:

variavel = false


para declarar valor de uma variavel, usamos o = ou como pode ver aqui no forum o GM aceita o : antes do sinal de igual, sendo assim você pode encontrar por ai algo assim: variavel := 10

Para mudar o valor de uma variavel usamos o += para aumentar de forma repentina um valor, ou =+1 para aumentar somente uma vez esse valor.

sendo assim nossa variavel esta assim em um evento em que esteja toda hora verificando seu conteúdo(Verificando mudanças no conteudo do evento):
variavel += 1

Bem posso ter escrito atoa esse mine tuto, mais acho que pode ajudar alguém se não isso que você quis perguntar! Razz


Última edição por CyraxX em Qua 26 Maio 2010, 22:30, editado 1 vez(es)

RodrigoM.

Número de Mensagens : 569
Idade : 21
Data de inscrição : 06/08/2009
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Problemas com meu primeiro jogo

Mensagem por fonetico em Qua 26 Maio 2010, 22:26

Como você está começando, se não souber como criar um script, veja essa aula do Cpinheiro:
http://www.gamemakerbrasil.com/game-maker-f36/aprendendo-a-usar-scripts-t4284.htm

Agora sobre as variáveis, veja esta aula do Alex FC:
http://www.gamemakerbrasil.com/game-maker-f36/aula-2-introducao-em-gml-variaveis-t5116.htm?highlight=vari%e1veis


CyraxX tinha esquecido desse código, porque se fosse um único objeto, eu pediria para ele usar o instance_number Razz

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Problemas com meu primeiro jogo

Mensagem por masterblod em Qua 26 Maio 2010, 22:30

Muito obrigado, gente _o/
Vou tentar esses tutoriais ai amanha, que agora eu tenho que ir dormir hehehe
Mas vlw pela ajuda !

masterblod

Número de Mensagens : 3
Data de inscrição : 26/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Problemas com meu primeiro jogo

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


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