Entrar
Ú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
Obj_inimigo seguir personagem. Atrito. [game 2d(estilo Mario Brs.)]
3 participantes
Página 1 de 1
Obj_inimigo seguir personagem. Atrito. [game 2d(estilo Mario Brs.)]
Ola amigos membros do GMBR,
Preciso de ajuda. Não consigo programar um inimigo que persiga com eficacia o obj_player, que consiga pular blocos, etc.
Também, existe outro impasse, preciso que quando o obj_player pule esse obj_inimigo, o obj_inimigo deslize um pouco antes de mudar de direção.
Exemplo:
Inimigo vem em minha direção, eu pulo por cima dele e ele desliza um pouco antes de voltar a me perseguir.
Desde já, agradeço.
Preciso de ajuda. Não consigo programar um inimigo que persiga com eficacia o obj_player, que consiga pular blocos, etc.
Também, existe outro impasse, preciso que quando o obj_player pule esse obj_inimigo, o obj_inimigo deslize um pouco antes de mudar de direção.
Exemplo:
Inimigo vem em minha direção, eu pulo por cima dele e ele desliza um pouco antes de voltar a me perseguir.
Desde já, agradeço.
BrunoSA- Data de inscrição : 18/09/2012
Reputação : 0
Número de Mensagens : 17
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Obj_inimigo seguir personagem. Atrito. [game 2d(estilo Mario Brs.)]
Cara
Essa é só a parte pra seguir o obj_player
Pra ele(obj_inimigo) pular os blocos é simples
No evento Step dele
if(speed>0 and place_meeting(x+2,y,obj_bloco) or place_meeting(x-2,y,obj_bloco))
//se a velocidade for maior que 0 e estiver colidindo com o objeto bloco1 a 2 pixels a direita o 2 pixel a esquerda
{
move_contact_solid(90,40);
//move o objeto na direção 90(pra cima) 40 pixels(que é a altura que eu quero que ele pule
}
if(point_distance(x,y,obj_player.x,obj_player.y)<250)
//se a distancia entre o x e y do dois for menor que 250
{
speed = 1.5;
//esta parte e para direcionar o sprite
if(x<obj_play.x)
{
direction = 0;// 0 = direita
sprite_index = spr_direita;// obs: esse é o nome da minha sprite
}
if(x>obj_play.x)
{
direction = 180;// 180 =esquerda;
sprite_index = spr_esquerda;
}
}
Essa é só a parte pra seguir o obj_player
Pra ele(obj_inimigo) pular os blocos é simples
No evento Step dele
if(speed>0 and place_meeting(x+2,y,obj_bloco) or place_meeting(x-2,y,obj_bloco))
//se a velocidade for maior que 0 e estiver colidindo com o objeto bloco1 a 2 pixels a direita o 2 pixel a esquerda
{
move_contact_solid(90,40);
//move o objeto na direção 90(pra cima) 40 pixels(que é a altura que eu quero que ele pule
}
if(point_distance(x,y,obj_player.x,obj_player.y)<250)
//se a distancia entre o x e y do dois for menor que 250
{
speed = 1.5;
//esta parte e para direcionar o sprite
if(x<obj_play.x)
{
direction = 0;// 0 = direita
sprite_index = spr_direita;// obs: esse é o nome da minha sprite
}
if(x>obj_play.x)
{
direction = 180;// 180 =esquerda;
sprite_index = spr_esquerda;
}
}
vini_gd- Data de inscrição : 02/09/2012
Reputação : 1
Número de Mensagens : 66
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Obj_inimigo seguir personagem. Atrito. [game 2d(estilo Mario Brs.)]
Para a segunda duvida basta no lugar de usar valores absolutos, usar var's, no create coloque:
flw's!
- Código:
vel=0;acel=0
- Código:
if obj_player.x>x {if vel<6 acel=.5;else acel=0}else{if vel>-6 acel=-.5;else acel=0}
- Código:
vel+=acel
x+=vel
flw's!
Thiago_o_programador- Games Ranking :
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: Obj_inimigo seguir personagem. Atrito. [game 2d(estilo Mario Brs.)]
Ola,
Primeiramente gostaria de agradece-los pela rapidez na resposta.
Funcionou muito bem, apliquei ambos os codes, porem tive outro problema.
Agora o obj me segue sempre e não colide com as paredes.
Segue o code
Desde já, agradeço.
Primeiramente gostaria de agradece-los pela rapidez na resposta.
Funcionou muito bem, apliquei ambos os codes, porem tive outro problema.
Agora o obj me segue sempre e não colide com as paredes.
Segue o code
- Código:
//gravidade
if place_free(x,y+2)
{vspeed=1 hspeed=0}
else
{vspeed=0}
if(point_distance(x,y,obj_player.x,y)<250)
//se a distancia entre o x e y do dois for menor que 250
{
if obj_player.x>x {if vel<6 acel=.5;else acel=0 sprite_index=spr_cupcakr_andando }else{if vel>-6 acel=-.5;else acel=0 sprite_index=spr_cupcakr_andando_esquerda}
//esta parte e para direcionar o sprite
if(x<obj_player.x)
{
direction = 0;// 0 = direita
sprite_index = spr_cupcakr_andando;// obs: esse é o nome da minha sprite
}
if(x>obj_player.x)
{
direction = 180;// 180 =esquerda;
sprite_index = spr_cupcakr_andando;
}
}
Desde já, agradeço.
BrunoSA- Data de inscrição : 18/09/2012
Reputação : 0
Número de Mensagens : 17
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Obj_inimigo seguir personagem. Atrito. [game 2d(estilo Mario Brs.)]
Faltou esse código:
Que faz o objeto pular sempre que colidir com o objeto bloco
E o objeto te segue sempre por causa deste trecho aqui.
Se a distancia for menor que 250 ele vai te seguir
é só diminuir o valor ex: 100 // vai te seguir sempre que estiver a menos de
100 pixels.
Que faz o objeto pular sempre que colidir com o objeto bloco
- Código:
if(speed>0 and place_meeting(x+2,y,obj_bloco) or place_meeting(x-2,y,obj_bloco))
//se a velocidade for maior que 0 e estiver colidindo com o objeto bloco1 a 2 pixels a direita o 2 pixel a esquerda
{
move_contact_solid(90,40);
//move o objeto na direção 90(pra cima) 40 pixels(que é a altura que eu quero que ele pule
}
E o objeto te segue sempre por causa deste trecho aqui.
- Código:
if(point_distance(x,y,obj_player.x,y)<250)
Se a distancia for menor que 250 ele vai te seguir
é só diminuir o valor ex: 100 // vai te seguir sempre que estiver a menos de
100 pixels.
vini_gd- Data de inscrição : 02/09/2012
Reputação : 1
Número de Mensagens : 66
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Obj_inimigo seguir personagem. Atrito. [game 2d(estilo Mario Brs.)]
E só completando, em uma parede que você não quiser que ele pule, apenas pare, use:
Flw's!
- Código:
obj= //nome do objeto que se está colidindo
x = xprevious;
y = yprevious;
if (abs(hspeed) >= abs(vspeed) && not place_meeting(x+hspeed,y,obj))
{ x += hspeed; exit;}
if (abs(vspeed) >= abs(hspeed) && not place_meeting(x,y+vspeed,obj))
{ y += vspeed; exit;}
speed = 0
vel=0
Flw's!
Thiago_o_programador- Games Ranking :
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Reputação : 7
Número de Mensagens : 713
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: Obj_inimigo seguir personagem. Atrito. [game 2d(estilo Mario Brs.)]
Ola pessoal,
Mesmo assim ele continua a atravessar os blocos.
Desconfio que seja seja devido á aceleração dele.
Segue o codigo
Mesmo assim ele continua a atravessar os blocos.
Desconfio que seja seja devido á aceleração dele.
Segue o codigo
- Código:
if(speed>0 and place_meeting(x+2,y,obj_pedra) or place_meeting(x-2,y,obj_pedra))
//se a velocidade for maior que 0 e estiver colidindo com o objeto bloco1 a 2 pixels a direita o 2 pixel a esquerda
{
move_contact_solid(90,40);
//move o objeto na direção 90(pra cima) 40 pixels(que é a altura que eu quero que ele pule
}
if(point_distance(x,y,obj_player.x,obj_player.y)<250)
//se a distancia entre o x e y do dois for menor que 250
{
speed = 1.5;
//esta parte e para direcionar o sprite
if(x<obj_player.x)
{
direction = 0;// 0 = direita
sprite_index = spr_cupcakr_andando;// obs: esse é o nome da minha sprite
}
if(x>obj_player.x)
{
direction = 180;// 180 =esquerda;
sprite_index = spr_cupcakr_andando_esquerda;
}
}
if obj_player.x>x {if vel<6 acel=.5;else acel=0}else{if vel>-6 acel=-.5;else acel=0}
obj=obj_pedra //nome do objeto que se está colidindo
x = xprevious;
y = yprevious;
if (abs(hspeed) >= abs(vspeed) && not place_meeting(x+hspeed,y,obj))
{ x += hspeed; exit;}
if (abs(vspeed) >= abs(hspeed) && not place_meeting(x,y+vspeed,obj))
{ y += vspeed; exit;}
speed = 0
vel=0
BrunoSA- Data de inscrição : 18/09/2012
Reputação : 0
Número de Mensagens : 17
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