Entrar
Últimos assuntos
» Colisões não funcionandopor RastaMaan Hoje à(s) 19:49
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Hoje à(s) 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
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