ajuda com scripts de estados finitos

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

ajuda com scripts de estados finitos

Mensagem por reinaldoferreira em Sex 13 Set 2013, 08:06

analisei um tutorial aqui estou tentando aprender  mas ja comecei tendo dificuldades ja deve ter quase 3 meses q mexo com esse jogo  nao consigo fazer um simples estado de dar um soco   pelo q aprendi seria assim
coloquei o codigo maquina de  estados aquele grande do tutorial para q funcione os estados entao eu fiz os seguintes estados

st_stand
st_tras
st_socoFR
st_soco2
st_frente
st_abaixado

o problema principal e q quando coloco um golpe de mais de um frame. sempre q ele entra
no estado o golpe começa de um frame diferente parece q quando eu entro no estado fica um frame aleatorio armazenado na memoria
ai depois q aperto o botao denovo ele entra no estado e começa a partir do frame q ficou armazenado la so da pra entender vcs vendo minha engine mesmo






st_parado
Código:
if keyboard_check_pressed(vk_nokey)
{sprite_index=wolverineparado image_speed=0.9};

if keyboard_check(tras){

 proximo_estado=st_tras    
return(estado_proximo_agora)  
}

return(estado_continua)//continua nesse estado
st_tras
Código:
x-=5.5  sprite_index=anda_tras

proximo_estado=st_parado
 return(estado_proximo_agora)
st_soco
Código:
sprite_index=spsocao

 proximo_estado=st_parado    
 return(estado_proximo_agora)    


Última edição por reinaldoferreira em Qua 25 Set 2013, 17:51, editado 2 vez(es)

reinaldoferreira

Número de Mensagens : 65
Data de inscrição : 03/09/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por Kol em Sex 13 Set 2013, 08:56

Amigo, não entendi oque você disse, mas o seguinte pqe vc ta usando essa variavel proximo_estado ? E qual motivo de usar um script para cada movimento? Particularmente, acho que usar tanto script para algo tão básico só ira deixar confuso no final. Enfim, aqui está um codigo simples que fiz para movimento:

Defina no create a variavel direção, ela serve pra saber qual foi a ultima posição que seu personagem olhou
Código:

if(keyboard_check(vk_left)) // Se seta esquerda for pressionada
{
    image_speed=0.2;
    sprite_index=andando_esquerda; // andando para esquerda
    direcao = 1;
}
else if(keyboard_check(vk_right)) // Se seta direita for pressionada
{
    image_speed=0.2;
    sprite_index=andando_direta; // andando para direta
    direcao = 2;
}
else // Se você nao tiver apertando nenhuma das direções ele está parado
{
   if(direcao == 1){ // Se ele esta parado, sprite de parado com a ulta direção
       sprite_index=parado_esquerda; // muda sprite
   }
   if(direcao == 2){ // Se ele esta parado, sprite de parado com a ulta direção
       sprite_index=parado_direta; // muda sprite
   }
}
Bem é isso qualquer duvida, ou se não entendi me dá um toque.

Kol

Número de Mensagens : 56
Data de inscrição : 11/09/2013
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira em Sex 13 Set 2013, 09:18

create??? estou falando da maquina de estados finitos nao tem nada no create ta tudo na pasta script
http://gmbr.forumeiros.com/t14340-tutorial-maquina-de-estados-finitos

reinaldoferreira

Número de Mensagens : 65
Data de inscrição : 03/09/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por mleoni em Sex 13 Set 2013, 12:10

Qual é o erro?Não entendi direito.O que eu vi de errado ali é o seguinte : quando você muda para os estados st_tras e st_soco,sua imagem muda e logo após você volta ao estado inicial.Você tem que colocar um tempo (para isso use tempo_no_estado) para que apenas após o final da animação ele volte para o estado inicial.Ou então use :
Código:

if image_index = image_number //se a imagem for igual à ultima subimagem da sprite atual
{
proximo_estado=st_parado
return(estado_proximo_agora)
}

return (estado_continua)

mleoni

Número de Mensagens : 81
Idade : 21
Data de inscrição : 06/03/2013
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira em Sex 13 Set 2013, 17:39

tipo eu coloco pra andar pra frente ele ta andando mas ta rapido mesmo eu colocando um codigo de velocidade la nao diminui

Código:
if sprite_index = andarfrente {// anda tras animaçao
image_speed=0.9}
x+=5.5  sprite_index=andar frente


proximo_estado=st_parado

return(estado_proximo)      //sai desse estado e entra no outro
eu ainda acho q aquele tuto da maquina de estados deve ser simplificado mais muito complicado de entender e um tuto ecencial pra quem quer fazer jogo de luta sei q se pegar um pouco dele da pra fazer 70 % do jogo

reinaldoferreira

Número de Mensagens : 65
Data de inscrição : 03/09/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por theguitarmester em Sex 13 Set 2013, 17:52

Bom, ele escreveu bastante coisa no tuto, e bastante coisa útil, é o estilo do Saim, e isso é bom, ele gosta de usar bastante a teoria, e isso é um tutorial, um tutorial não é apenas mostrar como fazer voltado a engine.


Quando voltar, eu vejo se terei tempo de fazer uma engine de estados para você, mas basicamente, é assim:

switch estado //checar em que estado está
{
case 0: ação para o estado 0;break
case 1: ação para o estado 1;break
case 2: ação para o estado 2;break
e assim por diante
}

Nesses casos(case), deve conter os movimentos, habilidades, poderes, mortes, quase tudo que seu personagem for fazer.


Quando voltar, caso sua duvida não esteja saciada eu faço uma engine.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira em Sex 13 Set 2013, 20:57

e realmente muito complicado ate q ele anda pra frente aqui e pra tras so nao diminui a velocidade dos sprites passando

reinaldoferreira

Número de Mensagens : 65
Data de inscrição : 03/09/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por mleoni em Sab 14 Set 2013, 20:28

Tente isso no script de andar para frente :
Código:


sprite_index = andarfrente;
image_speed=0.9;
x+=5.5;

if !keyboard_check(frente)
{
proximo_estado=st_parado
return(estado_proximo_agora)
}

return(estado_continua)      //sai desse estado e entra no outro

mleoni

Número de Mensagens : 81
Idade : 21
Data de inscrição : 06/03/2013
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira em Seg 23 Set 2013, 19:26

ate hoje tenho problemas com a velocidade

ja analisei pelo debug mode nao consigo descobrir oq pode ser aperto soco e ele vai rapido demais nao importa a velocidade q eu coloque se eu coloco so chek vai rapido quando troco para chek_pressed fica lento mas nao para de dar loopin e nem sai do estado resumindo a velocidade nao abaixa ja tentei fazer varias gambiarras nem almentando os frames adianta

reinaldoferreira

Número de Mensagens : 65
Data de inscrição : 03/09/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por ruben.23 em Seg 23 Set 2013, 21:41

Cara eu vou ser sincero, esse tipo de tutorial é muito ruim de entender, tem muita coiza, isso devia ser dividido em muitos tutoriais, e ser em video e não escrito, nem tudo pode ser explicado por palavras, as vezes é preciso ver para entender como é que faz! se vc é iniciante, sugiro não tentar aprender isso agora, até porque isso é complicado até mesmo pros mais experientes! Duvido que alguem aquí nesse forum, que não tenha no mínimo uma faculdade no assunto, saiba pelo menos 25% do funcionamento real dessa maquina, porque isso é realmente uma maquina, eu acredito que as pessoas tentam imitar, ou adaptam aquílo a suas necessidades, mas para iniciantes como nós é muito complicado! Meu conselho é que vc primeiro aprenda a movimentação e estados básicos, pra depois tentar isso aí! Eu acredito que scripts não são para iniciantes, mas sim para médianos no assunto!

ruben.23

Número de Mensagens : 212
Data de inscrição : 29/05/2013
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira em Ter 24 Set 2013, 03:42

gostaria de exemplos de maquinas de estados onde achar tutoriais mesmo q sejam ingles '-'

reinaldoferreira

Número de Mensagens : 65
Data de inscrição : 03/09/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por ruben.23 em Ter 24 Set 2013, 10:04

Bem, já que vc não quer dezistir da complicada maquina de estados finitos, veja este tutorial de introdução a maquina de estados finitos!
https://www.youtube.com/watch?v=Obt3L1YBwlM

ruben.23

Número de Mensagens : 212
Data de inscrição : 29/05/2013
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira em Qua 25 Set 2013, 15:01

o problema principal e q quando coloco um golpe de mais de um frame. sempre q ele entra
no estado o golpe começa de um frame diferente parece q quando eu entro no estado fica um frame aleatorio armazenado na memoria
ai depois q aperto o botao denovo ele entra no estado e começa a partir do frame q ficou armazenado la so da pra entender vcs vendo minha engine mesmo


baixem minha engine ai  e aproveitem q tentem entender a maquina de estados pra mim é a melhor coisa q ja conheci se nao fosse esses pequenos erros bizzaros q ta acontecendo o jogo tava longe garanto  o certo seria o sprite começar do primeiro frame independete se a velocidade do estado esteja rapido demais  ou lenta demais e sempre q entrase no estado começar do frame 0 sempre mas isso nao acontece. nem sempre as vezes sim as vezes nao ... nao gosto de erro gosto de perfeiçao
jogoteste.gmk

a maquina de estados nao é complicada , e simples


Última edição por reinaldoferreira em Qua 25 Set 2013, 17:55, editado 2 vez(es) (Razão : modificaçoes foram nessesarias)

reinaldoferreira

Número de Mensagens : 65
Data de inscrição : 03/09/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por mleoni em Qua 25 Set 2013, 22:05

Cara,isso aconteceu comigo tambem.Antes de trocar de estado,coloque :
Código:
image_index = 0;

mleoni

Número de Mensagens : 81
Idade : 21
Data de inscrição : 06/03/2013
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira em Sex 27 Set 2013, 06:52

ue se colocar image index 0  vai começar parado bounce alguem ai q usa maquina de estados para me ajudar alguns q usam ja tentaram eu ate achei q tinha resolvido mas depois  q fui reparar o probllema os caras nem  responderam mais minhas mp

reinaldoferreira

Número de Mensagens : 65
Data de inscrição : 03/09/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por mleoni em Sab 28 Set 2013, 11:11

--" ... vc pelo menos tentou ? baixei sua engine e coloquei o que eu tinha te falado e deu certinho.

mleoni

Número de Mensagens : 81
Idade : 21
Data de inscrição : 06/03/2013
Reputação : 23
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: ajuda com scripts de estados finitos

Mensagem por Conteúdo patrocinado Hoje à(s) 05:53


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