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
» 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
» 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
Página 1 de 1
ajuda com scripts de estados finitos
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
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
- Código:
x-=5.5 sprite_index=anda_tras
proximo_estado=st_parado
return(estado_proximo_agora)
- 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- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
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
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
}
}
Kol- Data de inscrição : 11/09/2013
Reputação : 8
Número de Mensagens : 56
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
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
https://gmbr.forumeiros.com/t14340-tutorial-maquina-de-estados-finitos
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
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- Data de inscrição : 06/03/2013
Reputação : 23
Número de Mensagens : 81
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
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
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
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.
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.
Re: ajuda com scripts de estados finitos
e realmente muito complicado ate q ele anda pra frente aqui e pra tras so nao diminui a velocidade dos sprites passando
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
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- Data de inscrição : 06/03/2013
Reputação : 23
Número de Mensagens : 81
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
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
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- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
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- Data de inscrição : 29/05/2013
Reputação : 10
Número de Mensagens : 212
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
gostaria de exemplos de maquinas de estados onde achar tutoriais mesmo q sejam ingles '-'
reinaldoferreira- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
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
https://www.youtube.com/watch?v=Obt3L1YBwlM
ruben.23- Data de inscrição : 29/05/2013
Reputação : 10
Número de Mensagens : 212
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
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
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- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
Cara,isso aconteceu comigo tambem.Antes de trocar de estado,coloque :
- Código:
image_index = 0;
mleoni- Data de inscrição : 06/03/2013
Reputação : 23
Número de Mensagens : 81
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
ue se colocar image index 0 vai começar parado 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- Data de inscrição : 03/09/2013
Reputação : 0
Número de Mensagens : 65
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: ajuda com scripts de estados finitos
--" ... vc pelo menos tentou ? baixei sua engine e coloquei o que eu tinha te falado e deu certinho.
mleoni- Data de inscrição : 06/03/2013
Reputação : 23
Número de Mensagens : 81
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos