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.

[GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Muquirana
Novato
Novato
Reações: 0
Mensagens: 9

[GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Mensagem por Muquirana » Seg Ago 13, 2018 12:21 am

Estou participando da ludum dare e eu dei uma travada na implementação em uma mecanica do meu jogo, vamos la:
Imagem
Tenho essa parede e gostaria que a cada 5 ou 10 segundos ela descesse verticalmente, tentei usar alarm e o random_range(5,10) para os segundos, mas ela não descia, então usei o vspeed e ela desceu de uma vez, e também gostaria de saber como fazer ela acompanhar o player ( como se fosse uma hud ) para dar a impressão que ela está se fechando.
Obrigado.

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Mensagem por None » Seg Ago 13, 2018 9:07 am

Eu não sei como você está implementado a parede, mas já que você disse que o vspeed funcionou, use dois alarmes, um deles aplica valor ao vspeed e o outro será o vspeed.

Por exemplo
Alarme 0
Vspeed = 2;
Alarm1 = room_speed/4;

Alarme 1
Vspeed = 0;
Alarm0 = room_speed * choose(5,10);

Desse jeito ele desce um pouco e fica 5 ou 10 segundos até descer de novo.

Eu particularmente não usaria este método, mas a única coisa que eu sei sobre a sua parede é que o vspeed funcionou uma.vez para isso.

Em relação a hud, é a mesma coisa, eu não sei como você está implementado a parede, provavelmente (se você quer como uma hud) você deve ter que desenhar outra parede no draw gui.

Já se for apenas acompanhar o player fisicamente, é só usar o X do player como base, criar um offset (distância, margem) para o player e definir o X dela com base no do player e do offset.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
Muquirana
Novato
Novato
Reações: 0
Mensagens: 9

Re: [GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Mensagem por Muquirana » Seg Ago 13, 2018 10:44 am

None escreveu:Eu não sei como você está implementado a parede, mas já que você disse que o vspeed funcionou, use dois alarmes, um deles aplica valor ao vspeed e o outro será o vspeed.

Por exemplo
Alarme 0
Vspeed = 2;
Alarm1 = room_speed/4;

Alarme 1
Vspeed = 0;
Alarm0 = room_speed * choose(5,10);

Desse jeito ele desce um pouco e fica 5 ou 10 segundos até descer de novo.

Eu particularmente não usaria este método, mas a única coisa que eu sei sobre a sua parede é que o vspeed funcionou uma.vez para isso.

Em relação a hud, é a mesma coisa, eu não sei como você está implementado a parede, provavelmente (se você quer como uma hud) você deve ter que desenhar outra parede no draw gui.

Já se for apenas acompanhar o player fisicamente, é só usar o X do player como base, criar um offset (distância, margem) para o player e definir o X dela com base no do player e do offset.
Tentei implementar e agora ela está subindo e de uma vez só sem esperar os segundos.
E sobre ela acompanhar o player, seria fisicamente mesmo durante o level, dando a impressão do level todo estar sendo “ imprensado “

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Mensagem por None » Seg Ago 13, 2018 11:50 am

Você poderia colocar o código que você está usando para ver o que está sendo feito?
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
Muquirana
Novato
Novato
Reações: 0
Mensagens: 9

Re: [GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Mensagem por Muquirana » Seg Ago 13, 2018 11:58 am

None escreveu:Você poderia colocar o código que você está usando para ver o que está sendo feito?
Ja ia dar um edit na mensagem anterior, bom consegui um resultado, a parede agora está descendo ( de uma vez sem esperar o tempo ), então vamos la:
alarm 0 event:
vspeed = 2;
alarm[1] = room_speed/4;

alarm 1 event:
vspeed = 0;
alarm[0] = room_speed * random_range(5,10);

step event:
vspeed = -alarm[1];

Imagem ( era pra ser um gif )

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Mensagem por None » Seg Ago 13, 2018 12:27 pm

Então você quer que ela fique descendo o tempo todo?
O que você quer é que ela aumente a velocidade caindo ou algo do tipo?

O seu step event está sobrescrevendo ambos os alarmes.

Se você quer a parede caindo sempre, basta dar um valor baixo para o vspeed dela e conforme o alarme é ativo você aumentar um pouco o valor do vspeed, nem precisa de dois alarmes neste caso.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
Muquirana
Novato
Novato
Reações: 0
Mensagens: 9

Re: [GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Mensagem por Muquirana » Seg Ago 13, 2018 12:33 pm

None escreveu:Então você quer que ela fique descendo o tempo todo?
O que você quer é que ela aumente a velocidade caindo ou algo do tipo?

O seu step event está sobrescrevendo ambos os alarmes.

Se você quer a parede caindo sempre, basta dar um valor baixo para o vspeed dela e conforme o alarme é ativo você aumentar um pouco o valor do vspeed, nem precisa de dois alarmes neste caso.
Quero q ela desça por exemplo : o jogador está andando pelo level, passa 5 segundos a parede desce 2 pixels, passa mais 5 segundos, ela desce +2 e assim vai, e caso o player demore de passar o level ele morre pela parede, e como as rooms terão tamanhos diferentes a parede acompanharia o player dando a impressão de ser a room toda.

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Mensagem por None » Seg Ago 13, 2018 12:44 pm

Neste caso é bem simples.

Start event
alarm[0] = room_speed * irandom_range(2, 4);

alarm[0] event
Y += 2;
alarm[0] = room_speed * irandom_range(2, 4);

Pronto, desta forma a cada 2-4 segundos a parede desce 2 pixels.
Isso funciona se a sua parede for um objeto único, se forem vários objetos você precisa evitar o random range individual, aí ou você usa um valor fixo de tempo ou usa um controlador para definir o tempo do alarme deles.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
Muquirana
Novato
Novato
Reações: 0
Mensagens: 9

Re: [GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Mensagem por Muquirana » Seg Ago 13, 2018 1:45 pm

None escreveu:Neste caso é bem simples.

Start event
alarm[0] = room_speed * irandom_range(2, 4);

alarm[0] event
Y += 2;
alarm[0] = room_speed * irandom_range(2, 4);

Pronto, desta forma a cada 2-4 segundos a parede desce 2 pixels.
Isso funciona se a sua parede for um objeto único, se forem vários objetos você precisa evitar o random range individual, aí ou você usa um valor fixo de tempo ou usa um controlador para definir o tempo do alarme deles.
Cara funcionou perfeitamente, você não tem ideia do alivio que eu to agora, consegui fazer essa paredona seguir o player também, obrigado de verdade, vou conseguir entregar a tempo

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [GMS2][Duvida] Objeto acompanhar o player pela view port e o mesmo objeto descer a cada 10 segundos

Mensagem por None » Seg Ago 13, 2018 1:48 pm

Fico feliz por ter sido útil :)
Posta o projeto aqui depois!
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante