Conectar-se

Esqueci minha senha

Últimos assuntos
» colisão de queda após outra colisão dando problema
Ontem à(s) 18:08 por Lighter

» [Duvida] O que aprender
Ontem à(s) 15:32 por Markituh

» BUILD FAILED: Cannot find BUILD.xml
Ontem à(s) 14:50 por ReisBlender

» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Jogo Dengue HTML
Seg 30 Nov 2015, 16:17 por guga

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex 28 Ago 2015, 21:09 por Kodained

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Problema com Colisão
Qui 27 Ago 2015, 12:30 por The_Game

» Quem quer Uma Engine, e de Quê?
Qui 27 Ago 2015, 09:22 por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua 26 Ago 2015, 11:38 por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter 25 Ago 2015, 21:29 por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg 24 Ago 2015, 18:33 por AG Hydra

» Atirar na direção certa
Seg 24 Ago 2015, 09:03 por theguitarmester

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Problemas na compilação android
Dom 23 Ago 2015, 23:43 por Zero.

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Como estabilizar um som
Sab 22 Ago 2015, 19:03 por Isquilo_Roedor

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» Sobre instance Creation Code
Sab 22 Ago 2015, 08:39 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» Como fazer um temporizador
Sex 21 Ago 2015, 19:02 por Isquilo_Roedor

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

Quem está conectado
17 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 17 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36

[pedido]engine de controle temporal

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

[pedido]engine de controle temporal

Mensagem por William Lima em Dom 23 Jan 2011, 23:47

alguem poderia interpretar essa descrição aqui sobre controle temporal ?
Spoiler:
Bom, eu conheço uma maneira de fazer isso, é um pouco confuso, mas funciona perfeitamente.

É um princípio com arrays, eu pensei até em fazer uma extensão baseada nisso, pode servir como 'reverse' ou como 'replay', porém abandonei a idéia, seu funcionamento é assim, você grava uma quantidade de ações em uma array, cada 'número' da array é um 'frame', nesse caso varia de objeto para objeto, de jogo pra jogo e por ai vai.

Por exemplo, supondo que seu jogo seja bem simples, só tem movimentação pelas setas (varia apenas a posição x e y) e você queira fazer um controle de tempo com isso, como é basicamente 2 variáveis, você usa apenas:

a+=1
rev_x[a]=x
rev_y[a]=y

Claro que isso condiciona o funcionamento, se ficar muito tempo gravando, ocupará muito espaço na memória e consequentemente ocasionará um 'lag', a solução é 'limpar' os primeiros frames, de modo que somente as últimas, por exemplo, 200 posições fiquem armazenadas, é muito simples fazer isso, basta só descartar as 200 primeiras quando chegar em 400 e começar a regravar do início: a=1.

Para reproduzir, tem 2 possibilidades: 'Voltar no tempo', que resumidamente seria fazer o próprio objeto (ou um fake dele) seguir os frames de trás para frente, ou de modo 'Replay', onde você antes de dar o 'Play' reseta a variável a em 1 e segue crescentemente até o limite de frames gravados (nesse caso não pode descartar frames).

O que eu disse na prática é assim:

a-=1
x=rev_x[a]
y=rev_y[a]

e no caso de um simples replay:

a+=1
x=rev_x[a]
y=rev_y[a]

Note que: Já deve existir os dados gravados na arrays.

Tudo no evento Step, tanto pra gravar, quanto pra ler, a velocidade do jogo em frames por segundo (também conhecido como FPS) indicará a 'resolução' do replay e a quantidade de detalhes que será armazenado, quanto maior o FPS, maior a resolução e assim por diante.

Se você não entender eu posso fazer um sistema bem simples funcionando no mesmo princípio do exemplo citado aqui, e você estuda da melhor forma que encontrar.

Boa sorte com seu projeto.
tópico de origem:
http://gmbr.forumeiros.com/t13203-resolvidocontrole-temporal?highlight=controle+emporal
vlw^^
avatar
William Lima

Ranking : Nota A
Notas recebidas : C+A+A+B+A
Data de inscrição : 10/09/2010
Número de Mensagens : 426
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 0

Ver perfil do usuário http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: [pedido]engine de controle temporal

Mensagem por Markituh em Dom 23 Jan 2011, 23:57

Controle temporal? Que zika, o controle de voltar no tempo do Prince of Persia. Eu vi uma engine na GMC que utilizava um arquivo de texto para fazer, mas este método é muito mais prático...

Tipo, a cada step, ele tem que gravar as posições anteriores numa array. Só que muitos valores deixariam o jogo lento, e para isso só era deletar os primeiros frames. Aí num Alarm que é executado a cada 1 step, coloca esse código:
Código:
a+=1
rev_x[a]=x
rev_y[a]=y
Então você iria criar um limitador, como explica o tutorial, que quando chegar a 400 apagar ele e colocar no 1.
Código:
if variable_array_get(rev_x,400) and variable_array_get(rev_y,400)
{
for (i=0;i<400;i+=1)
{
variable_array_set(rev_x,i,0)
variable_array_set(rev_y,i,0)
}
a = 1
}
Aí quando apertar a tecla, só colocar outro alarm que executa a cada step e por:
Código:
a-=1
x=rev_x[a]
y=rev_y[a]
Pronto vai voltar no tempo Very Happy Entendeu agora?
avatar
Markituh

Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [pedido]engine de controle temporal

Mensagem por William Lima em Seg 24 Jan 2011, 11:01

sim,vlw cara,pra mim tava confuso mas agora melhorou^^
vlw
avatar
William Lima

Ranking : Nota A
Notas recebidas : C+A+A+B+A
Data de inscrição : 10/09/2010
Número de Mensagens : 426
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 0

Ver perfil do usuário http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: [pedido]engine de controle temporal

Mensagem por William Lima em Ter 25 Jan 2011, 03:46

olha tentei fazer aqui mas nao deu cero Happy
sera que não poderia fazer uma engine ?
vlw
abrass
avatar
William Lima

Ranking : Nota A
Notas recebidas : C+A+A+B+A
Data de inscrição : 10/09/2010
Número de Mensagens : 426
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 0

Ver perfil do usuário http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: [pedido]engine de controle temporal

Mensagem por Mystery_boy_maker em Ter 25 Jan 2011, 10:02

williammustaffa

Evite posts duplos são contra as Regras do Fórum use o botão editar na ultima mensagem.Dessa vez fica o alerta
avatar
Mystery_boy_maker

Data de inscrição : 25/01/2010
Número de Mensagens : 908
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 1

Ver perfil do usuário http://recursos-mania.forumeiros.com

Voltar ao Topo Ir em baixo

Re: [pedido]engine de controle temporal

Mensagem por Markituh em Ter 25 Jan 2011, 10:21

=/ Beleza, vou fazer um pequeno exemplo. Mas eu preciso que você aprenda, decore como fazer, só olhar a engine não vai te levar a nada, pois só é chegar nela e pegar os códigos. Quando eu terminar eu edito/posto.
avatar
Markituh

Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [pedido]engine de controle temporal

Mensagem por Conteúdo patrocinado


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