Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Background parar sem tremer
5 participantes
Página 1 de 1
Background parar sem tremer
Bom pessoal. Eu quero que meu background[0] siga o view[0] (que por sua vez, segue o jogador). Até aí, é fácil demais, o problema, que quando o jogador para de andar, o background dá uma tremida no final antes de parar junto com o view.
Eu estou usando o código no step event do objeto x da room:
background_x[0] =view_xview
background_y[0] =view_yview
Ele até chega a seguir, mas quando é pra parar, ele da um tremida. Tem outro código para fazer isso?
- A velocidade do jogador é 2 e o do view é -1.
- Top-down.
Eu estou usando o código no step event do objeto x da room:
background_x[0] =view_xview
background_y[0] =view_yview
Ele até chega a seguir, mas quando é pra parar, ele da um tremida. Tem outro código para fazer isso?
- A velocidade do jogador é 2 e o do view é -1.
- Top-down.
Última edição por Doritos555 em Qui 16 Fev 2012, 21:20, editado 3 vez(es)
Doritos555- Games Ranking :
Data de inscrição : 19/01/2012
Reputação : 2
Número de Mensagens : 78
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Background parar sem tremer
Vamos aos fatos,o background fica tremendo o tempo todo ou só um tempo ?
Seria bom se criasses um sistema de camera da view.
O padrão tem alguns legs mesmo.
Seria bom se criasses um sistema de camera da view.
O padrão tem alguns legs mesmo.
Re: Background parar sem tremer
Não, quando o jogador para de andar, ele meio que "teleporta" pro view, como se estivesse meio segundo atrasado ou adiantado, sabe?
Queria impedir que isso acontecesse, caso tenha algum outro código mais eficiente.
Queria impedir que isso acontecesse, caso tenha algum outro código mais eficiente.
Doritos555- Games Ranking :
Data de inscrição : 19/01/2012
Reputação : 2
Número de Mensagens : 78
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Background parar sem tremer
Olha,você mesmo já tem o armamento para isso,só falta saber usa-lo.
Ao invés de usar uma view fixa,use uma view variável .
Faça os códigos da view por GML,é faça com que ele tenha um End Step .
Tente fazer com que ela seja alterável e adaptável segundo sua necessidade.
Ao invés de usar uma view fixa,use uma view variável .
Faça os códigos da view por GML,é faça com que ele tenha um End Step .
Tente fazer com que ela seja alterável e adaptável segundo sua necessidade.
Última edição por TRFN em Qui 16 Fev 2012, 21:15, editado 1 vez(es)
Re: Background parar sem tremer
.Tente colocar o código em draw ao invés de step,em draw ele atualiza três vezes por step e em step apenas uma vez.
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Background parar sem tremer
Boa! Colocar no draw funcionou, agora ele não da a tremidinha final xD
Obrigado pela ajuda ai galera
EDIT:
Opa! Não, susto , haha.
Não, me enganei, o código não funciona no draw.
TRFN, não sei exatamente o que colocar no End step se for o caso.
Obrigado pela ajuda ai galera
EDIT:
Opa! Não, susto , haha.
Não, me enganei, o código não funciona no draw.
TRFN, não sei exatamente o que colocar no End step se for o caso.
Doritos555- Games Ranking :
Data de inscrição : 19/01/2012
Reputação : 2
Número de Mensagens : 78
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Background parar sem tremer
Na verdade,e recomendado usar o GML pra controle da view porque ele é mais prático e funcional.
Crie um objeto chamado obj_camera e coloque no draw as funções GML de view.
Comece a digitar "view_" e ai você já saberá o que fazer.
Faça com que sejam variáveis,é assim para de tremer !
Crie um objeto chamado obj_camera e coloque no draw as funções GML de view.
Comece a digitar "view_" e ai você já saberá o que fazer.
Faça com que sejam variáveis,é assim para de tremer !
Re: Background parar sem tremer
Ta certo, vou farei a view por GML nesse caso, já edito.
EDIT:
Bom, eu fiz a view por GML, mas o tranco final do background continua existindo, o background parece sempre estar atrasado
Deve ser por que ele segue a view, que segue o player, ou seja, ele não segue diretamente o player, então deve rolar algum lag nisso.
EDIT:
Bom, eu fiz a view por GML, mas o tranco final do background continua existindo, o background parece sempre estar atrasado
Deve ser por que ele segue a view, que segue o player, ou seja, ele não segue diretamente o player, então deve rolar algum lag nisso.
Doritos555- Games Ranking :
Data de inscrição : 19/01/2012
Reputação : 2
Número de Mensagens : 78
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Background parar sem tremer
Tente alterar a propriedade de velocidade da view.
Coloque essa variavel para se adaptar conforme a necessidade.
Outra boa coisa seria alterar as bordas e também colocar o código do background com um leve adiantamento.
Faça com que este fique estático após certa aproximação comforme a view em questão.
Isso tudo por GML ;)
Coloque essa variavel para se adaptar conforme a necessidade.
Outra boa coisa seria alterar as bordas e também colocar o código do background com um leve adiantamento.
Faça com que este fique estático após certa aproximação comforme a view em questão.
Isso tudo por GML ;)
Re: Background parar sem tremer
É por isso mesmo. O GM tem uma sequencia para executar seus eventos.Doritos555 escreveu:Deve ser por que ele segue a view, que segue o player, ou seja, ele não segue diretamente o player, então deve rolar algum lag nisso.
O background vai sempre estar atrasado porque quando a view segue automaticamente um objeto ele calcula as posições depois de todos os eventos executarem, ou seja:
- Código:
// O player move
x += velocidade;
y += velocidade;
// Você move o back de acordo com a view
background_x[0] = view_xview[0];
background_y[0] = view_yview[0];
// E depois o GM calcula a posição do view de acordo com o objeto
Um modo de resolver isso seria você prevendo o que o jogador vai fazer um step a frente mas como isso é impossível tem outra solução: é você fazer a view mudar manualmente ou o back seguir o player (mas a última não é muito recomendável).
Então ficaria algo assim:
- Código:
// O player move
x += velocidade;
y += velocidade;
// Você mesmo recalcula a view
view_xview = player.x-borda;
view_yview = player.y-borda;
// Você move o back de acordo com a view
background_x[0] = view_xview[0];
background_y[0] = view_yview[0];
Última edição por Kabeção em Sex 17 Fev 2012, 12:46, editado 1 vez(es)
Re: Background parar sem tremer
Bem observado Kabeção o não conhecimento detalhado da sequencia de Eventos/Calculos do GM causa muitos problemas, por isso eles colocaram mas 2 tipos de Eventos Step nas novas versões. Antigamente só tinha 1 Evento Step, depois com os 2 ficou mais facil fazer certas coisas mais avançadas que antes dava um nó na cabeça.
Flws
Flws
Re: Background parar sem tremer
É, executar códigos na sequência errada pode causar diversos bugs e você dificilmente vai perceber o problema.vinians escreveu:Bem observado Kabeção o não conhecimento detalhado da sequencia de Eventos/Calculos do GM causa muitos problemas, por isso eles colocaram mas 2 tipos de Eventos Step nas novas versões. Antigamente só tinha 1 Evento Step, depois com os 2 ficou mais facil fazer certas coisas mais avançadas que antes dava um nó na cabeça.
Flws
Eu também cheguei a quebrar muito a cabeça com essa questão do back seguir a view pois o GM atualiza as posições até mesmo depois do End Step (ou seria depois do Draw antes do Begin Step, ai já mudaria o modo de pensar, seria o player que se move depois da view definir posição), por isso não importa se está do End Step, Step ou Begin Step, se o player pode se mover a qualquer hora, as posições da view vão estar sempre um passo atrás.
Re: Background parar sem tremer
Era o que havia me esquecido.
Boa kabeção !
Mas de qualquer forma,não se esqueça que se houver algum leg adicional,basta usar um if para cálculos aproximados e ai pronto,resolve também.
Boa kabeção !
Mas de qualquer forma,não se esqueça que se houver algum leg adicional,basta usar um if para cálculos aproximados e ai pronto,resolve também.
Tópicos semelhantes
» [resolvido] Parar Background
» Como parar o background em movimento numa determinada posição?
» [Resolvido]player morre para background - correr e parar back
» Como por por uma background por cima de outra background sem que a primeira background apague??
» [Resolvido]Parar um sound_loop() sem parar os sons de mesmo nome.
» Como parar o background em movimento numa determinada posição?
» [Resolvido]player morre para background - correr e parar back
» Como por por uma background por cima de outra background sem que a primeira background apague??
» [Resolvido]Parar um sound_loop() sem parar os sons de mesmo nome.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos