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
» (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
Problema com Ataque
5 participantes
Página 2 de 2
Página 2 de 2 • 1, 2
Re: Problema com Ataque
Eu faço assim como o matheus falou. Aliais a engine que eu postei é assim
Jow- Data de inscrição : 21/01/2012
Reputação : 1
Número de Mensagens : 39
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com Ataque
matheus870 escreveu:darkdaimon escreveu:Ele até funciona, o problema é que meu personagem tem o ataque para a esquerda e o para a direita, vou enviar uma engine basica para vizualizar melhor do jeito que está.
http://www.4shared.com/file/JkQfBBUM/problema_no_ataque.html
simplificando: cria 1 sprite de ele atacando para a direita e põe no objeto que eu falei
ele só vai inverter o lado da sprite ou seja não vai precisar de 2 sprites ( direita e esquerda )
aqui funfou legal com a sprite somente para a direita
.Cara cada caso é um caso,você tem que analizar a engine e adaptar ou mudar tudo,eu passei aquele código pra você porque se encaixava na sua engine.Checava a direção
- Código:
if(direction>90 and direction<270)=virado para a esquerda else virado para a direita.
.O movimento dele é (x+=5)(x-=5).Tente entender o que isso faz,para o game maker ele não esta se movendo,apesar de estar mudando de posição,o direction continua sendo 0.
.O jeito para saber o direction seria.
- Código:
.direction=point_diretion(xprevious,yprevious,x,y):
.até mais.
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Problema com Ataque
Não entendi muito bem o que é para eu fazer... estou meio confuso.
darkdaimon- Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com Ataque
É o seguinte...
O primeiro código que você testou deu erro porque seu step todo define as sprites a serem usadas. Quando você apertava um botão, a sprite mudava e, no step seguinte, mudava de novo.
Isso pode ser corrigido usando alguma versão de uma máquina de estados finitos. Tem um tutorial na minha assinatura que eu recomendo a leitura. Ele é um pouco complexo em termos de códigos, mas ilustra a ferramenta melhor do que o resumo que eu vou falar daqui a pouco.
O problema do instance_change, eu não sei qual é, porque não costumo usar a função, mas provavelmente o que rola é que quando o objeto é criado, ele não tem parâmetros pra saber de que lado o anterior estava virado, então ele fica sempre virado pro mesmo lado.
O resumo da máquina de estados finitos é mais ou menos assim: você cria uma variável pra dizer pro objeto o que ele está fazendo AGORA. Muita gente chama essa variável de "ação", eu prefiro "índice_do_estado". Daí, no step, você muda o que está fazendo em função dessa variável.
No seu caso, você tem um personagem cujo estado é, por exemplo, "andando". Daí, se o estado for andando e ele apertar o botão do glope, ele muda pro estado "golpeando". Os sprites não vão ser atualizados até acabar a animação, porque a atualização só acontece se o estado for "andando". No final da animação, você coloca "se (estado = 'golpeando'), então estado pasa a ser 'parado'", o que faz o personagem voltar ao normal.
Você usa quantos estados achar necessário, lembrando de prever todas as eventualidades que podem ocorrer em cada estado.
...
Resumidamente, é isso. O tutorial mostra uma forma mais eficiente e flexível de se programar esses estados.
O primeiro código que você testou deu erro porque seu step todo define as sprites a serem usadas. Quando você apertava um botão, a sprite mudava e, no step seguinte, mudava de novo.
Isso pode ser corrigido usando alguma versão de uma máquina de estados finitos. Tem um tutorial na minha assinatura que eu recomendo a leitura. Ele é um pouco complexo em termos de códigos, mas ilustra a ferramenta melhor do que o resumo que eu vou falar daqui a pouco.
O problema do instance_change, eu não sei qual é, porque não costumo usar a função, mas provavelmente o que rola é que quando o objeto é criado, ele não tem parâmetros pra saber de que lado o anterior estava virado, então ele fica sempre virado pro mesmo lado.
O resumo da máquina de estados finitos é mais ou menos assim: você cria uma variável pra dizer pro objeto o que ele está fazendo AGORA. Muita gente chama essa variável de "ação", eu prefiro "índice_do_estado". Daí, no step, você muda o que está fazendo em função dessa variável.
No seu caso, você tem um personagem cujo estado é, por exemplo, "andando". Daí, se o estado for andando e ele apertar o botão do glope, ele muda pro estado "golpeando". Os sprites não vão ser atualizados até acabar a animação, porque a atualização só acontece se o estado for "andando". No final da animação, você coloca "se (estado = 'golpeando'), então estado pasa a ser 'parado'", o que faz o personagem voltar ao normal.
Você usa quantos estados achar necessário, lembrando de prever todas as eventualidades que podem ocorrer em cada estado.
...
Resumidamente, é isso. O tutorial mostra uma forma mais eficiente e flexível de se programar esses estados.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Problema com Ataque
Obrigado, li o seu tutorial, so que eu ainda me sinto muito perdido, estou aprendendo alguma coisa vendo pelas engines, cada comando o que faz e etc.
Estou tentando nesta mesma engine que passei no meu post anterior, fazer com que ele ataque certinho, pois se eu tiver que mudar tudo, não faço a mínima ideia do que fazer xD.
Obrigado a todos que estão tentando me ajudar!
Estou tentando nesta mesma engine que passei no meu post anterior, fazer com que ele ataque certinho, pois se eu tiver que mudar tudo, não faço a mínima ideia do que fazer xD.
Obrigado a todos que estão tentando me ajudar!
darkdaimon- Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com Ataque
Esse é o problema de se começar fazendo um jogo muito complexo, logo de cara. São muitos conceitos pra assimilar de uma vez só.
Meu conselho? Apague essa engine. Queime ela do seu HD.
Mentira, mantenha um backup, mas deixe a engine de lado, por uns tempos. Recomece o jogo do zero, mas escrevendo cada linha. Muitas dúvidas irão surgir, então faça por partes.
Primeiro a movimentação para os lados, depois as colisões, por fim a gravidade. Estamos aqui pra ajudar com as dúvidas que surjam.
Meu conselho? Apague essa engine. Queime ela do seu HD.
Mentira, mantenha um backup, mas deixe a engine de lado, por uns tempos. Recomece o jogo do zero, mas escrevendo cada linha. Muitas dúvidas irão surgir, então faça por partes.
Primeiro a movimentação para os lados, depois as colisões, por fim a gravidade. Estamos aqui pra ajudar com as dúvidas que surjam.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Problema com Ataque
Gente, eu estou refazendo aqui de vários jeitos e agora está tudo certo exceto por um problema que vou explicar no final do post.
Meu Step ficou assim
Somente com o step ele anda normal e ataca para os 2 lados sem problema.. so que ele não para de atacar, até eu apertar algum botão de movimento novamente.
Eu coloquei um animation end. e coloquei nele um change_sprite para o meu sprite do personagem parado subimage 0 e speed 1.
Agora ele ataca perfeitamente. eu aperto Z e ele faz os 5 frames de ataque e volta a posicao parado. so que agora quando eu ando com o personagem ele anda por 1 segundo normal, depois disso ele trava a imagem do personagem tambem, eu acho que é por causa do animation end.
O que eu posso fazer?
Meu Step ficou assim
- Código:
//gravidade
if place_free(x,y+2)
{
gravity=1
}
else
{
gravity=0
}
//movimenta��o
if keyboard_check_pressed(vk_right)
{
hspeed=+7
sprite_index=sprPlayerAndando
image_xscale=1
}
if keyboard_check_released(vk_right)
{
hspeed=+0
sprite_index=sprPlayerParado
}
if keyboard_check_pressed(vk_left)
{
hspeed=-7
sprite_index=sprPlayerAndando
image_xscale=-1
}
if keyboard_check_released(vk_left)
{
hspeed=-0
sprite_index=sprPlayerParado
}
if keyboard_check_pressed(vk_space)
{
if !place_free(x,y+2)
{
vspeed=-8
}
}
//n�o grudar nas paredes
if not place_free(x+hspeed,y)
{
hspeed = 0
}
//Ataque
if keyboard_check(ord("Z"))
{
if hspeed=0
{
sprite_index=sprPlayerAtacando
}
}
Somente com o step ele anda normal e ataca para os 2 lados sem problema.. so que ele não para de atacar, até eu apertar algum botão de movimento novamente.
Eu coloquei um animation end. e coloquei nele um change_sprite para o meu sprite do personagem parado subimage 0 e speed 1.
Agora ele ataca perfeitamente. eu aperto Z e ele faz os 5 frames de ataque e volta a posicao parado. so que agora quando eu ando com o personagem ele anda por 1 segundo normal, depois disso ele trava a imagem do personagem tambem, eu acho que é por causa do animation end.
O que eu posso fazer?
darkdaimon- Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com Ataque
coloque em other>animation end
- Código:
atacando=false;
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Problema com Ataque
Amigo, não funcionou vou postar a minha engine basica, talves fique melhor para vizualizar.
http://www.4shared.com/file/ItQnyH9f/teste_ae.html
Setas andam, e Z ataca... depois de 1 segundo o movimento do personagem trava. assim como eu disse..
http://www.4shared.com/file/ItQnyH9f/teste_ae.html
Setas andam, e Z ataca... depois de 1 segundo o movimento do personagem trava. assim como eu disse..
darkdaimon- Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problema com Ataque
veja agora;
http://www.4shared.com/file/ztyCxVGL/teste_ae.html
http://www.4shared.com/file/ztyCxVGL/teste_ae.html
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Problema com Ataque
Obrigado, agora entendi como funciona, obrigado mesmo, obrigado a todos.
Funcionou perfeitamente
Funcionou perfeitamente
darkdaimon- Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 2 de 2 • 1, 2
Tópicos semelhantes
» Problema no ataque >__<"'
» Problema no meu ataque.
» problema com codigo de ataque
» Problema mudança de sprite no ataque [Plataforma]
» Como configurar um ataque e ataque especial ?
» Problema no meu ataque.
» problema com codigo de ataque
» Problema mudança de sprite no ataque [Plataforma]
» Como configurar um ataque e ataque especial ?
Página 2 de 2
Permissões neste sub-fórum
Não podes responder a tópicos