Ajuda com mudança de sprites dependentes da localização do Obj.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Ajuda com mudança de sprites dependentes da localização do Obj.

Mensagem por BrunoSA em Ter 18 Set 2012, 22:39

Ola,

Estou desenvolvendo um novo projeto e preciso de ajuda.
Atingi um determinado ponto na minha criação que encontrei um problema. Existe um objeto, chamado de obj_inimigo, que segue o personagem na direção que ele for, porem este obj_inimigo fica sempre em apenas uma direção (sempre virado para a direita "spr_inimigo_direita"). Não existe nenhuma maneira de ele mudar para o sprite virado para a esquerda "spr_inimigo_esquerda" quando este "obj_inimigo" seguir meu personagem para a esquerda?

Segue o codigo usado no STEP do obj_inimigo:
Spoiler:

if (distance_to_object(obj_player) > 150) {

var Obj, Velocidade ;

Obj := obj_player ;

Velocidade := 10 ; //Velocidade com que vai seguir.

move_towards_point(Obj.x, Obj.y, min(Velocidade, point_distance(x, y, Obj.x, Obj.y))) ;

}

if (distance_to_object(obj_player) < 150) {

var Obj, Velocidade ;

Obj := obj_player ;

Velocidade := 3; //Velocidade com que vai seguir.

move_towards_point(Obj.x, Obj.y, min(Velocidade, point_distance(x, y, Obj.x, Obj.y))) ;
}



PS: Eu aplico nomes característicos aos meus objetos, não estranhem com o spr_satanas.



RESOLVIDO



Atualização agradecendo os usuarios:
[/center][/size]


Última edição por BrunoSA em Qua 19 Set 2012, 19:50, editado 2 vez(es)

BrunoSA

Número de Mensagens : 17
Data de inscrição : 18/09/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Ajuda com mudança de sprites dependentes da localização do Obj.

Mensagem por theguitarmester em Qua 19 Set 2012, 00:10

Tente este Novo Code:
Código:
if (distance_to_object(obj_player) >= 150) {

var Obj, Velocidade ;

Obj := obj_player ;

Velocidade := 10 ; //Velocidade com que vai seguir.

move_towards_point(Obj.x, Obj.y, min(Velocidade, point_distance(x, y, Obj.x, Obj.y))) ;

}

if (distance_to_object(obj_player) < 150) {

var Obj, Velocidade ;

Obj := obj_player ;

Velocidade := 3; //Velocidade com que vai seguir.

move_towards_point(Obj.x, Obj.y, min(Velocidade, point_distance(x, y, Obj.x, Obj.y))) ;
}
if x>Obj.x spr_inimigo_direita else  spr_inimigo_direita
Seu code Havia um pequeno e erro tambem: se a distância do objeto fosse maior que 150 ele iria fazer uma coisa, se fosse Menor iria fazer outra, Mas se fosse igual Iria fazer Nada. arrumei isto adicionando um = na frente do maior, então se for maior ou igual irá na velocidade 10.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Resolvido Re: Ajuda com mudança de sprites dependentes da localização do Obj.

Mensagem por Thiago_o_programador em Qua 19 Set 2012, 14:45

Se o que você quer é que um sempre esteja de frente para o outro (Tipo >>> <<<; >>>> <<<<) é bem simples, basta usar x>obj_player.x, aplicando em codigo:
Código:
player=obj_player
if x<player.x image_xscale=1; //direita
if x>player.x image_xscale=-1; //esquerda

Thiago_o_programador

Ranking : Nota D
Número de Mensagens : 709
Idade : 19
Data de inscrição : 14/05/2009
Notas recebidas : D - C - D - C
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://www.jogosdahora.maisblog.net

Voltar ao Topo Ir em baixo

Resolvido Resolvido

Mensagem por BrunoSA em Qua 19 Set 2012, 19:39

Utilizei as duas formas e ambas solucionaram meu problema, agradeço a ambos.

BrunoSA

Número de Mensagens : 17
Data de inscrição : 18/09/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Ajuda com mudança de sprites dependentes da localização do Obj.

Mensagem por theguitarmester em Qui 20 Set 2012, 12:27

A diferença é que o CODE que eu Postei foi em Relação a esse Sprite Seu "spr_inimigo_direita" você criou um Sprite para a direita, lógicamente deve ter criado um para a esquerda, e, não precisa disso usando o GameMaker pró(se só muda a Posição), com isto, achei que cvocê teria o GMLITE, então fiz um code que funcione no Lite. Já o do Thiago_o_programador é o que acho melhor e uso(coloco mais em D&D, gosto de fazer o jogo usando os dois, D&D e GML), mas só Funciona se Tiver o Pro, por causa da Variavel IMAGE_ANGLE.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Resolvido Re: Ajuda com mudança de sprites dependentes da localização do Obj.

Mensagem por Thiago_o_programador em Qui 20 Set 2012, 14:10

é, mas nesse caso, usando CODE ele funcionaria livremente, já que image_xscale creio eu que esteja livre na versão LITE, o unico bloqueio seria em D&D já que estaria junto também image_angle.

Thiago_o_programador

Ranking : Nota D
Número de Mensagens : 709
Idade : 19
Data de inscrição : 14/05/2009
Notas recebidas : D - C - D - C
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://www.jogosdahora.maisblog.net

Voltar ao Topo Ir em baixo

Resolvido Re: Ajuda com mudança de sprites dependentes da localização do Obj.

Mensagem por Conteúdo patrocinado Hoje à(s) 18:25


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum