Ajuda com movimentação de tela

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

Ajuda com movimentação de tela

Mensagem por anjomd em Qua 26 Out 2011, 10:15

Ola Pessoal do GMBR.
Sou novato no GM, ja olhei muitos tutoriais do forum e gostei muito.
Estou desemvolvendo um Game no estilo River Raid do antigo Atari.
1- Como faço para a tela se movimentar sozinha como e fosse o aviaozinho andando pra cima da tela do pc?
2- Como faso para quando eu apertar UP a tela se movimente mais rapido, se nao apertar o UP a tela se movimenta normal e se eu apertar DOW a tela se movimenta mais lentamente.

Obrigado a todos que puderem me ajudar.

anjomd

Número de Mensagens : 7
Data de inscrição : 16/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por Lucas 5293 em Qua 26 Out 2011, 10:20


Lucas 5293

Ranking : Nota C
Número de Mensagens : 695
Idade : 18
Data de inscrição : 10/12/2010
Notas recebidas : C-D-B-B-B-C-C-C
Reputação : 18
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://dopxgames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por anjomd em Qua 26 Out 2011, 10:49

Obrigado Lucas, olhei o tutorial.
Mas não e isso que eu quero.
A tela se movimentaria altomaticamente mesmo que o player estivesse parado.

A engine seria mais ou menos isso ai.
http://www.4shared.com/file/CevHSUzE/RiverRaid.html


Última edição por anjomd em Qua 26 Out 2011, 11:19, editado 2 vez(es)

anjomd

Número de Mensagens : 7
Data de inscrição : 16/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por Lucas 5293 em Qua 26 Out 2011, 10:50

Vou arrumar sua engine jajá termino
-----EDIT--------
Salve a engine como .gmk pois não tem o GM 8.1

Lucas 5293

Ranking : Nota C
Número de Mensagens : 695
Idade : 18
Data de inscrição : 10/12/2010
Notas recebidas : C-D-B-B-B-C-C-C
Reputação : 18
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://dopxgames.blogspot.com

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por anjomd em Qua 26 Out 2011, 11:13

Pronto ja ReUpei
http://www.4shared.com/file/CevHSUzE/RiverRaid.html

anjomd

Número de Mensagens : 7
Data de inscrição : 16/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por saim em Qua 26 Out 2011, 11:42

Basicamente, você vai alterar a posição de view_yview em função da posição y do objeto do jogador.
Desde que, é claro, o JOGADOR esteja se movendo pra cima, e não que o mundo esteja se movendo pra baixo, como é comum nesse tipo de jogo.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por anjomd em Qua 26 Out 2011, 13:42

Valeu Saim, mas como eu disse nou novo no GM.
Eu nao sei como fazer.

anjomd

Número de Mensagens : 7
Data de inscrição : 16/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por Thyago em Qua 26 Out 2011, 13:44

.Crie um objeto_camera,e coloque para a view seguir esse objeto,e deixe ele invisivel...


até mais

Thyago

Ranking : Nota B
Número de Mensagens : 1092
Idade : 30
Data de inscrição : 24/08/2009
Notas recebidas : D+B+B+C+A
Reputação : 31
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 1
   :

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por Igor KinGamer em Qua 26 Out 2011, 13:54

Como o saim disse, é comum que o personagem não esteja se movendo "de verdade", mas sim o cenário atrás e em volta dele.

Para fazer o player se mover, você teria que fazer um room com uma altura imensa para uma fase longa. Para fazer as outras coisas se moverem, e não o player, você tem que colocar uma velocidade igual para todas, na direção contrária à do player, e mudá-la se estiver apertando para cima ou para baixo.

Você pode guardar numa variável global a velocidade normal, alterá-la ao apertar para cima e para baixo, e colocar em tudo (objetos do cenário, inimigos, background) o comando para se mover com ela: y += global.velocidade, ou vspeed = global.velocidade; no caso do background, background_vspeed[n] = global.velocidade; mas se for um jogo de avião em que o background é o chão, que está muito distante, é melhor você movê-lo com uma velocidade menor - ex.: background_vspeed[n] = global.velocidade/10.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por saim em Qua 26 Out 2011, 14:14

Ah, é, você é iniciante...
Vou partir do pré-suposto que você tem uma room muito grande e que o avião esteja se movendo pra cima.
Olha, tem MUITO tempo que eu não mexo com drag'n'drop (aqueles iconezinhos bonitinhos que deixam a programação muito mais fácil intuitiva), então vou te explicar com código mesmo.

1 - você precisa definir as variáveis e configurações da view. Isso dá pra fazer na edição da room. Vou te pedir pra olhar o manual pra ver o que faz cada opção, porque não lembro nada de cabeça (e estou longe do GM). Outra configuração que você vai colocar manualmente é a distância (em y) que o topo da view tem que ficar da origem do avião do jogador.
2 - uma dessas configurações é qual objeto que a view deve seguir. Acho que chama "object follow" ou coisa assim. Não marque ela. É que pra view seguir um objeto, existem algumas "bordas" que a view tem que obedecer, tipo assim, se o objeto passa de um ponto, a view muda de posição de modo a manter o objeto que ela está seguindo dentro dessa borda. Se você quisesse o objeto no centro da view, seria bom, mas você quer ele na parte de baixo, não é?
3 - no end step event do avião, adicione o seguinte pedaço de código:
Código:
view_yview[0]=y-???
Substitua o "???" pela variável que você definiu no primeiro passo.

O que estamos fazendo é o seguinte: deixamos a movimentação dos objetos pra acontecer da forma que você bem entender até antes do end step. Daí, quando todos os objetos já estiverem na posição certa, verificamos a posição da view. Horizontalmente, ela não se mexe, porque nós não mandamos ela se mexer. Verticalmente, ela pula sempre pra uma distância fixa do avião, dando a impressão que ela segue o avião (quando na verdade, é o avião que empurra ela).

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por Convidad em Qua 26 Out 2011, 14:28

você pode criar um objeto chamado camera_move e no evento Create criar um execute code e inserir :
Código:

velocidade_da_camera="25" //velocidade que a camera irá seguir sozinha
pause=false
depois crie um evento Step e crie um execute code, escrevendo :
Código:

if(pause=true)exit;

hspeed=velocidade_da_camera;
agora no evento Draw crie outro execute code e escreva :
Código:

view_xview[0]=x;
view_yview[0]=y;
e assim, a tela andará automaticamente na velocidade que você definir no create.É quando quiser para,basta usar o código :
Código:

with(camera_move)pause=true;

se tiver qualquer dúvida me fala...

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por anjomd em Qua 26 Out 2011, 15:26

Pessoal, desculpe se eu estou pertubando muito.
Eu esta va olhando no google e achei isto

http://www.4shared.com/file/DFwsS5uo/1945_1.html
Seria isso ai que estou presisando.
Mas ai esta tudo em D&D.
Gostaria de ve-lo em Codigo.
Tem como?

anjomd

Número de Mensagens : 7
Data de inscrição : 16/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por Convidad em Qua 26 Out 2011, 15:57

seria basicamente o que disse ....
a camera se move sozinha e com um comando no objeto ela para,com outro ela volta.......

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por saim em Qua 26 Out 2011, 16:02

Olha, daqui eu não posso baixar a engine. Mas pra traduzir de D&D pra código, eu costumava usar esse link (mas nem sei se ainda está ativo).

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por anjomd em Qua 26 Out 2011, 16:03

Bem, Conssegui fazer algo.
no meu objeto controle fiz o seguinte
background_vspeed[agua]=global.vel
e a agua se move num loop.
Não sei se é o certo a fazer.

anjomd

Número de Mensagens : 7
Data de inscrição : 16/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por saim em Qua 26 Out 2011, 16:13

É uma das soluções. Você está fazendo o mundo andar enquanto o jogador fica quieto. Agora tem que fazer os inimigos andarem pra baixo também.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por anjomd em Qua 26 Out 2011, 16:23

O link não está ativo. Obrigado.
Vou continuar tentando.
Fiz o que o Igor KinGamer falou.
E realmente vou presisar e uma room Gigante
para fazer a engine funcionar.
O bom seria um loop com os objetos (inimigos, backgrounds, ...).

anjomd

Número de Mensagens : 7
Data de inscrição : 16/10/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por saim em Qua 26 Out 2011, 16:55

Não. Ou um, ou outro.
Se você cria uma room imensa e põe os inimigos em loop, aqueles que teoricamente deveriam sumir vão aparecer junto aos que ainda não apareceram. Em pouco tempo o jogo deixa de ser difícil e passa a ser um inferno.

room imensa=bom
loop de inimigos=bom
ambos=ruim

Sugiro bater um pouco a cabeça numa room imensa mesmo, fazendo a view seguir o player. Não que seja a melhor solução, mas vai te jogar num monte de situações em que o funcionamento do jogo vai sendo desmistificado. É um exercício mais proveitoso.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

Mensagem por rafael fã digimon em Qua 02 Nov 2011, 13:08

tbm quero isso mas ñ entendi o q vcs falaram

rafael fã digimon

Número de Mensagens : 7
Data de inscrição : 02/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com movimentação de tela

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


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