Conectar-se
Quem está conectado
15 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 14 Visitantes

CRP-Max

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 17/06/2015
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

código para inimigo parar ao detecta um burraco

em Ter 23 Jun 2015, 15:58
olá, preciso de um código que faça o inimigo ficar parado quando ele encontra um buraco em sua frente para não cair dentro e ser destruído.
avatar
Data de inscrição : 05/10/2012
Número de Mensagens : 47
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: código para inimigo parar ao detecta um burraco

em Ter 23 Jun 2015, 16:19
kael'thas escreveu:olá, preciso de um código que faça o inimigo ficar parado quando ele encontra um buraco em sua frente para não cair dentro e ser destruído.

O que vc precisa mesmo é estudar!

Não sei os outros mas achei essa sua abordagem um tanto preocupante, o fórum é para estudos, dúvidas e em ultimo caso intervenção direta. Teu posto é claramente uma solicitação para que alguém pense por vc. Desculpe se estou sendo rude mas se levar em consideração o que digo irá me agradecer no futuro. Tente fazer você mesmo, existem muitas possibilidades pra solução do teu problema, se mesmo assim não conseguir traga suas indagações e se possível seja educado.
Forte abraço
avatar
Ranking : Sem avaliações
Data de inscrição : 16/06/2015
Número de Mensagens : 30
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: código para inimigo parar ao detecta um burraco

em Ter 23 Jun 2015, 16:25
Há 2 formas.

1º Crie um evento de colisão no objeto do inimigo com o buraco e coloque:
Código:

hspeed = 0; // só um exemplo
vspeed = 0; //só um exemplo

2º Você deve colocar isso no step:
Código:

if(place_meeting(x + 2,y,obj_buraco) or place_meeting(x-2,y,obj_buraco) or place_meeting(x,y - 2,obj_buraco) or place_meeting(x,y + 2,obj_buraco)){
hspeed = 0;
vspeed = 0;
}
Checa se há um buraco nos 4 pontos cardeais(norte,sul,leste,oeste) com 2 pixels de distância entre o buraco e o inimigo, e se por acaso tiver,o inimigo para.


Edit:Ops,não sabia que era um jogo de plataforma,nesse caso só use place_meeting(x + 2,y) or place_meeting(x -2,y)


Última edição por First and Last em Ter 23 Jun 2015, 16:36, editado 2 vez(es)
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: código para inimigo parar ao detecta um burraco

em Ter 23 Jun 2015, 16:31
Te aconselho a utilizar o place_meeting, assim vc ver se há um buraco em tal ponto. Se não place_meetig cm o obj chão, então há um buraco.
avatar
Data de inscrição : 25/11/2012
Número de Mensagens : 77
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuário

Re: código para inimigo parar ao detecta um burraco

em Qua 24 Jun 2015, 04:41
Caso seja possível faça do objburaco solid e coloque no step event do player o seguinte código:

if hspeed!=0
if !place_free(x+hspeed,y)
{
if hspeed>0 move_contact_solid(0,hspeed)
if hspeed<0 move_contact_solid(180,-hspeed)
hspeed=0
}

if vspeed!=0
if !place_free(x+hspeed,y+vspeed)
{
if vspeed>0 move_contact_solid(270,vspeed)
if vspeed<0 move_contact_solid(90,-vspeed)
vspeed=0
}

vai funcionar sem dúvidas...abraço!
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum