Movimentação em um jogo de plataforma endless run

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

Movimentação em um jogo de plataforma endless run

Mensagem por Davicvic em Qua 25 Dez 2013, 23:26

Gostaria de saber como posso fazer o player andar sem parar, estilo aqueles jogos endless run. Pra quem não sabe endless run são jogos parecidos com subway surfers e temple run. Se alguem puder me ajudar agradeceria, só pra lembrar o jogo é de plataforma.

Davicvic

Número de Mensagens : 64
Data de inscrição : 05/03/2013
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Movimentação em um jogo de plataforma endless run

Mensagem por theguitarmester em Qui 26 Dez 2013, 12:49

o jeito mais fácil e simples é colocar no hspeed=4(ou qualquer valor positivo), você pode colocar isso no create do corredor ou em outro lugar que faça ele começar a correr, um exemplo:

obj_corredor:
Create:
Código:
hspeed=6

E então, é só você aplicar a gravidade e os pulos normalmente(caso queira), só não alterando o hspeed, apenas o vspeed, e quando o Corredor morrer, é só colocar hspeed=0 para ele parar.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Movimentação em um jogo de plataforma endless run

Mensagem por DarkSorcerer775 em Qui 26 Dez 2013, 14:40

Bom, depende do jogo. Geralmente, não é o jogador que se move, e sim o cenário e os objetos ao redor dele. Falo isso para jogos 2D como Jetpack Joyride, mas o mesmo deve ser válido para jogos 3D, claro que utilizando 3 eixos e pontos de spawn estratégicos.

- Porque? Já que é infinito, não tem lógica você criar uma room gigantesca ou aumentar o tamanho dela em tempo real. É uma room no tamanho da tela que você quer que o jogo tenha, apenas criando os objetos fora da tela e mandando eles na direção contrária ao do jogador.

Claro que você vai animar a sprite para dar a ilusão de movimentos, acrescentar a gravidade e tudo mais. Como seu jogo vai operar é você quem decide. No geral, você irá colocar algo como isso num alarm:
Código:
// Cria um objeto fora da tela (caso a origem X da tua sprite for 0), 60 pixels acima da borda inferior (algo como o chão).
with(instance_create(room_width,room_height-60,obj_obstaculo))
{
    hspeed = -6; // Da uma velocidade a ele (hspeed negativo vai para a esquerda).
}

a = choose(30,60,90); // Escolhe um valor aleatorio
alarm[X] = a; // Chama novamente este código no tempo da variavel a

Onde X no alarm é o numero dele. Espero que você tenha uma noção básica de GML e como os steps (tempo) funcionam. Você poderia também criar numa posição aleatória acima do chão:
Código:
b = irandom(200); // Gera um valor de 0 a 200. Esse valor pode mudar dependendo do tamanho da room
// A alteração aqui foi no segundo argumento, onde agora ele vai criar os objetos 60 pixels acima da borda inferior, MAIS o valor gerado acima.
with(instance_create(room_width,room_height-(60+b),obj_obstaculo))
{
    hspeed = -6;
}

a = choose(30,60,90);
alarm[X] = a;

Teve um concurso de jogos infinitos aqui no fórum. Se quiser se aventurar dando uma procurada, talvez ache algo interessante. Não to em casa para fazer um exemplozinho pra você, espero que tenha entendido.

Qualquer coisa só falar Happy

DarkSorcerer775

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

Voltar ao Topo Ir em baixo

Re: Movimentação em um jogo de plataforma endless run

Mensagem por Davicvic em Sab 04 Jan 2014, 16:34

Galera eu consegui fazer o personagem andar sem parar como eu queria, mas agora estou com dificudade de fazer o personagem pular e trocar as sprites... alguem poderia me ajudar??? Estou usando o hspeed

Davicvic

Número de Mensagens : 64
Data de inscrição : 05/03/2013
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Movimentação em um jogo de plataforma endless run

Mensagem por Conteúdo patrocinado Hoje à(s) 08:33


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