GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por 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


ajuda com scripts de estados finitos

5 participantes

Ir para baixo

ajuda com scripts de estados finitos Empty ajuda com scripts de estados finitos

Mensagem por reinaldoferreira 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
reinaldoferreira

Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por Kol 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
Kol

Data de inscrição : 11/09/2013
Reputação : 8
Número de Mensagens : 56
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira Sex 13 Set 2013, 09:18

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

Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por mleoni 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
mleoni

Data de inscrição : 06/03/2013
Reputação : 23
Número de Mensagens : 81
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira 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
reinaldoferreira

Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por theguitarmester 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
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2211
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira 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
reinaldoferreira

Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por mleoni Sáb 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
mleoni

Data de inscrição : 06/03/2013
Reputação : 23
Número de Mensagens : 81
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira 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
reinaldoferreira

Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por ruben.23 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!ajuda com scripts de estados finitos 31640
ruben.23
ruben.23

Data de inscrição : 29/05/2013
Reputação : 10
Número de Mensagens : 212
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira Ter 24 Set 2013, 03:42

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

Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por ruben.23 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
ruben.23

Data de inscrição : 29/05/2013
Reputação : 10
Número de Mensagens : 212
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira 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) (Motivo da edição : modificaçoes foram nessesarias)
reinaldoferreira
reinaldoferreira

Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por mleoni Qua 25 Set 2013, 22:05

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

Data de inscrição : 06/03/2013
Reputação : 23
Número de Mensagens : 81
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por reinaldoferreira 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
reinaldoferreira

Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por mleoni Sáb 28 Set 2013, 11:11

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

Data de inscrição : 06/03/2013
Reputação : 23
Número de Mensagens : 81
Prêmios : ajuda com scripts de estados finitos Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

ajuda com scripts de estados finitos Empty Re: ajuda com scripts de estados finitos

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos