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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» 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

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Dúvida com mask de ataque

4 participantes

Ir para baixo

Dúvida com mask de ataque Empty Dúvida com mask de ataque

Mensagem por darkdaimon Sex 27 Jan 2012, 12:32

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

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
darkdaimon

Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios : Dúvida com mask de ataque 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

Dúvida com mask de ataque Empty Re: Dúvida com mask de ataque

Mensagem por luiz_eldorado Sex 27 Jan 2012, 12:45

É 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
}
Arrume um pouco este codigo. Talvez nao precise do "instance_nearest".
luiz_eldorado
luiz_eldorado

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/07/2011
Reputação : 47
Número de Mensagens : 928
Prêmios : Dúvida com mask de ataque Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

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

http://luizpontes.tk/

Ir para o topo Ir para baixo

Dúvida com mask de ataque Empty Re: Dúvida com mask de ataque

Mensagem por darkdaimon Sex 27 Jan 2012, 13:42

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!
darkdaimon
darkdaimon

Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios : Dúvida com mask de ataque 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

Dúvida com mask de ataque Empty Re: Dúvida com mask de ataque

Mensagem por saim Sex 27 Jan 2012, 14:43

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
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Dúvida com mask de ataque Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Dúvida com mask de ataque Empty Re: Dúvida com mask de ataque

Mensagem por darkdaimon Sex 27 Jan 2012, 15:45

Saim, eu fiz o que você me disse e ficou assim:

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
darkdaimon

Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios : Dúvida com mask de ataque 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

Dúvida com mask de ataque Empty Re: Dúvida com mask de ataque

Mensagem por saim Sex 27 Jan 2012, 16:26

Porque você mandou o game maker manter a imagem parada enquanto a tecla estiver pressionada:
if keyboard_check(ord("Z"))
{
hspeed=0;
atacando=true;
sprite_index=sprPlayerAtacando
image_index=0;
mask_index=obj_mask;
}
Tente eliminar essa linha em negrito.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Dúvida com mask de ataque Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Dúvida com mask de ataque Empty Re: Dúvida com mask de ataque

Mensagem por darkdaimon Sex 27 Jan 2012, 16:39

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.
darkdaimon
darkdaimon

Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios : Dúvida com mask de ataque 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

Dúvida com mask de ataque Empty Re: Dúvida com mask de ataque

Mensagem por saim Sex 27 Jan 2012, 17:17

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.
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Dúvida com mask de ataque Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Dúvida com mask de ataque Empty Re: Dúvida com mask de ataque

Mensagem por darkdaimon Sex 27 Jan 2012, 17:29

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.
darkdaimon
darkdaimon

Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios : Dúvida com mask de ataque 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

Dúvida com mask de ataque Empty ja ta resolvido?

Mensagem por God_of_war425 Sex 27 Jan 2012, 18:01

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.
God_of_war425
God_of_war425

Data de inscrição : 29/10/2011
Reputação : 4
Número de Mensagens : 510
Prêmios : Dúvida com mask de ataque 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

Dúvida com mask de ataque Empty Re: Dúvida com mask de ataque

Mensagem por darkdaimon Sex 27 Jan 2012, 18:31

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
darkdaimon
darkdaimon

Data de inscrição : 20/01/2012
Reputação : 1
Número de Mensagens : 20
Prêmios : Dúvida com mask de ataque 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

Dúvida com mask de ataque Empty Re: Dúvida com mask de ataque

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