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
Dúvida com mask de ataque
4 participantes
Página 1 de 1
Dúvida com mask de ataque
Olá amigos, estou com um problema na minha engine de plataforma.
Eu criei o meu personagem e fiz uma mascara pra ele com um retangulo preto dos pes a cabeça, para fazer a colisão com o chao etc.
O problema é, quando o meu personagem ataca o monstro só é destruido se ele estiver colado com o personagem, por causa da mask. (o meu personagem ataca com uma espada).
Para o meu personagem eu só tenho um objeto, para os movimentos e ataque são tudo sprites mesmo que eu alterno(sprplayeratacando, sprplayerparado), (sprplayerandando). para eu mudar a mask no ataque para que a colisão da espada com o inimigo fique certa, eu teria que criar um objeto para o ataque certo?, porém isso mudaria totalmente o step, ou não?
STEP
Isso aqui eu coloquei no collision do inimigo
Ele anda, ataca tudo certo, o problema em questão é justo esse, ele so destroi o inimigo caso ele esteja COLADO nele, e não a uma certa distancia. (e se eu ataco de costas o inimigo tambem é morto x_x)
Agradeço a ajuda de vocês.
Eu criei o meu personagem e fiz uma mascara pra ele com um retangulo preto dos pes a cabeça, para fazer a colisão com o chao etc.
O problema é, quando o meu personagem ataca o monstro só é destruido se ele estiver colado com o personagem, por causa da mask. (o meu personagem ataca com uma espada).
Para o meu personagem eu só tenho um objeto, para os movimentos e ataque são tudo sprites mesmo que eu alterno(sprplayeratacando, sprplayerparado), (sprplayerandando). para eu mudar a mask no ataque para que a colisão da espada com o inimigo fique certa, eu teria que criar um objeto para o ataque certo?, porém isso mudaria totalmente o step, ou não?
STEP
- Código:
//gravidade
if place_free(x,y+2)
{
gravity=1
}
else
{
gravity=0
}
//Ataque
if keyboard_check_pressed(ord("Z"))
{
hspeed=0;
image_index=0;
atacando=true;
sprite_index=sprPlayerAtacando
}
else
if(atacando=false)
{
//movimenta��o
if keyboard_check(vk_right)
{
hspeed=+7
sprite_index=sprPlayerAndando
image_xscale=1
}
else
if keyboard_check(vk_left)
{
hspeed=-7
sprite_index=sprPlayerAndando
image_xscale=-1
}
else
{
hspeed=-0
sprite_index=sprPlayerParado
}
}
if keyboard_check_pressed(vk_up)
{
if !place_free(x,y+2)
{
vspeed=-11
}
}
//n�o grudar nas paredes
if not place_free(x+hspeed,y)
{
hspeed = 0
}
Isso aqui eu coloquei no collision do inimigo
- Código:
if objPlayerParado.atacando = true{
instance_destroy()}
Ele anda, ataca tudo certo, o problema em questão é justo esse, ele so destroi o inimigo caso ele esteja COLADO nele, e não a uma certa distancia. (e se eu ataco de costas o inimigo tambem é morto x_x)
Agradeço a ajuda de vocês.
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: Dúvida com mask de ataque
É melhor voce nao colocar na colisao, e sim numa condicao no step.
- Código:
i=instance_nearest(x,y,objInimigo)
if point_distance(x,y,i.x,i.y)>32 {
//codigo que esta na colisao
}
Re: Dúvida com mask de ataque
Entendi mais ou menos, no caso seria uma condição de uma certa distancia entre o personagem e o inimigo.
se o personagem estiver atacando
Caso distancia x (entre personagem e inimigo)
inimigo é destruido.
Só não entendi muito bem o código, sou iniciante xD.
Poderia explicar melhor?
Obrigado!
se o personagem estiver atacando
Caso distancia x (entre personagem e inimigo)
inimigo é destruido.
Só não entendi muito bem o código, sou iniciante xD.
Poderia explicar melhor?
Obrigado!
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: Dúvida com mask de ataque
Eu sugeriria mudar o sprite_mask para o ataque.
- Código:
if keyboard_check_pressed(ord("Z"))
{
//mantém o que está lá
mask_index=sprPlayerAtacando;
}
if keyboard_check_released(ord("Z"))
{
mask_index=retanguloPreto;
}
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: Dúvida com mask de ataque
Saim, eu fiz o que você me disse e ficou assim:
Eu fiz a mascara com a sprite do meu personagem atacando e agora ficou certinho, o monstro é acertado certo, porem a imagem do ataque nao roda fica parada na primeira imagem sendo que o ataque é feito por uma sequencia de 6 imagens.
O que poderia ser?
- Código:
//gravidade
if place_free(x,y+2)
{
gravity=1
}
else
{
gravity=0
}
//Ataque
if keyboard_check(ord("Z"))
{
hspeed=0;
atacando=true;
sprite_index=sprPlayerAtacando
image_index=0;
mask_index=obj_mask;
}
if keyboard_check_released(ord("Z"))
{
mask_index=sprite5;
sprite_index=sprPlayerParado
image_index=0;
}
else
if(atacando=false)
{
//movimenta��o
if keyboard_check(vk_right)
{
hspeed=+7
sprite_index=sprPlayerAndando
image_xscale=1
}
else
if keyboard_check(vk_left)
{
hspeed=-7
sprite_index=sprPlayerAndando
image_xscale=-1
}
else
{
hspeed=-0
sprite_index=sprPlayerParado
}
}
if keyboard_check_pressed(vk_up)
{
if !place_free(x,y+2)
{
vspeed=-11
}
}
//n�o grudar nas paredes
if not place_free(x+hspeed,y)
{
hspeed = 0
}
Eu fiz a mascara com a sprite do meu personagem atacando e agora ficou certinho, o monstro é acertado certo, porem a imagem do ataque nao roda fica parada na primeira imagem sendo que o ataque é feito por uma sequencia de 6 imagens.
O que poderia ser?
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: Dúvida com mask de ataque
Porque você mandou o game maker manter a imagem parada enquanto a tecla estiver pressionada:
Tente eliminar essa linha em negrito.if keyboard_check(ord("Z"))
{
hspeed=0;
atacando=true;
sprite_index=sprPlayerAtacando
image_index=0;
mask_index=obj_mask;
}
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: Dúvida com mask de ataque
Então, acontece o seguinte, se eu aperto o Z o personagem ataca mas não roda todas as imagens, se eu SEGURO o Z, ele roda a imagem do ataque mas enquanto eu manter segurado ele fica atacando...
O certo seria apertar Z ele roda a imagem do ataque e volta para a imagem parado.
O certo seria apertar Z ele roda a imagem do ataque e volta para a imagem parado.
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: Dúvida com mask de ataque
Bom, você quer que ele execute um evento ao terminar a animação, mas está falando pra ele executar ao soltar a tecla. Talvez seja o caso de parar de colocar todo o código no step e passar a usar os demais eventos.
O step é mesmo tentador. Já que ele acontece o tempo, parece muito lógico colocar tudo pra acontecer no step. Mas usar os eventos pode facilitar muito sua vida.
O step é mesmo tentador. Já que ele acontece o tempo, parece muito lógico colocar tudo pra acontecer no step. Mas usar os eventos pode facilitar muito sua vida.
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: Dúvida com mask de ataque
O que eu fiz e deu certo agora foi o seguinte:
Coloquei a mudança de mask quando ataca.. mas não voltei para a mascara quando ele nao esta atacando.
Coloquei um evento de (no key) e coloquei para voltar a mascara normal.
E agora a colisão ficou toda certinha, exceto pelo fato de que ele acerta o monstro mesmo de costas x_X.
Coloquei a mudança de mask quando ataca.. mas não voltei para a mascara quando ele nao esta atacando.
Coloquei um evento de (no key) e coloquei para voltar a mascara normal.
E agora a colisão ficou toda certinha, exceto pelo fato de que ele acerta o monstro mesmo de costas x_X.
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
ja ta resolvido?
topico ja esta resolvido,porque com evento no key vai dar problema porque se ele segura colquer uma tecla do teclado vai continuar com problema que ele disse vai voltar sugiro colocar
if keybord_check_realesed quando tecla for solta aconcete
{//aqui oque vc quer}mais se n quizer n vai na minha so falando que no key da problemas chato pq ele espera que nenhum NENHUMA tecla do teclado esteja presionada pra acontecer algo.
if keybord_check_realesed quando tecla for solta aconcete
{//aqui oque vc quer}mais se n quizer n vai na minha so falando que no key da problemas chato pq ele espera que nenhum NENHUMA tecla do teclado esteja presionada pra acontecer algo.
God_of_war425- Data de inscrição : 29/10/2011
Reputação : 4
Número de Mensagens : 510
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida com mask de ataque
Sim, o problema que estou tendo é na alternação de mascaras, vou postar a engine para ficar melhor a vizualização.
Tenho 2 mascaras, uma para o personagem parado e outra para atacando, o problema da mascara atacando é que eu estou matando o monstro mesmo estando de costas para ele.
teste ai para vocês verem.
setas andam, Z ataca
http://www.4shared.com/file/Aty3zFcM/mascara.html
Tenho 2 mascaras, uma para o personagem parado e outra para atacando, o problema da mascara atacando é que eu estou matando o monstro mesmo estando de costas para ele.
teste ai para vocês verem.
setas andam, Z ataca
http://www.4shared.com/file/Aty3zFcM/mascara.html
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
Tópicos semelhantes
» [Duvida] sprite mask
» Duvida sobre MASK
» [Resolvido] duvida mask
» Dúvida sobre Mask (máscara)
» [Resolvido]Dúvida sobre mask
» Duvida sobre MASK
» [Resolvido] duvida mask
» Dúvida sobre Mask (máscara)
» [Resolvido]Dúvida sobre mask
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos