Conectar-se
Quem está conectado
23 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 22 Visitantes

Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 16/10/2011
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Ajuda com movimentação de tela

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.
avatar
Ranking : Nota C
Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Número de Mensagens : 695
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://dopxgames.blogspot.com

Re: Ajuda com movimentação de tela

em Qua 26 Out 2011, 10:20
avatar
Data de inscrição : 16/10/2011
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com movimentação de tela

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.
4shared.com/file/CevHSUzE/RiverRaid.html


Última edição por anjomd em Qua 26 Out 2011, 11:19, editado 2 vez(es)
avatar
Ranking : Nota C
Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Número de Mensagens : 695
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://dopxgames.blogspot.com

Re: Ajuda com movimentação de tela

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
avatar
Data de inscrição : 16/10/2011
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com movimentação de tela

em Qua 26 Out 2011, 11:13
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Ajuda com movimentação de tela

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.
avatar
Data de inscrição : 16/10/2011
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com movimentação de tela

em Qua 26 Out 2011, 13:42
Valeu Saim, mas como eu disse nou novo no GM.
Eu nao sei como fazer.
avatar
Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 1
   :
Ver perfil do usuário

Re: Ajuda com movimentação de tela

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
avatar
Data de inscrição : 26/09/2008
Número de Mensagens : 890
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Ajuda com movimentação de tela

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.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Ajuda com movimentação de tela

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).
Convidad
Convidado

Re: Ajuda com movimentação de tela

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...
avatar
Data de inscrição : 16/10/2011
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com movimentação de tela

em Qua 26 Out 2011, 15:26
Pessoal, desculpe se eu estou pertubando muito.
Eu esta va olhando no google e achei isto

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?
Convidad
Convidado

Re: Ajuda com movimentação de tela

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.......
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Ajuda com movimentação de tela

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).
avatar
Data de inscrição : 16/10/2011
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com movimentação de tela

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.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Ajuda com movimentação de tela

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.
avatar
Data de inscrição : 16/10/2011
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com movimentação de tela

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, ...).
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: Ajuda com movimentação de tela

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.
avatar
Data de inscrição : 02/11/2011
Número de Mensagens : 7
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Ajuda com movimentação de tela

em Qua 02 Nov 2011, 13:08
tbm quero isso mas ñ entendi o q vcs falaram
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum