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

gart30

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 03/12/2008
Número de Mensagens : 5
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

ajuda inimigos

em Qua 03 Dez 2008, 20:27
e ae pessoal,sou novo aqui no forum e meio iniciante no game maker,nao estou conseguindo solucionar um problema queria que os sprites do inimigo no caso virassem de acordo com a direçao do player,tipo o player vai para a direita o sprite do inimigo fica virado para a direita.
de qualquer forma vlw pessoal!
lol!
Convidad
Convidado

Re: ajuda inimigos

em Qua 03 Dez 2008, 21:15
Se vc já possui as sprites para ambos os lados tente isso:
Código:
if direction=0 //se direção = direita
sprite_index=sprite_direita //troque o "sprite_direita" pelo nome da sprite do lado direito
else
sprite_index=sprite_esquerda //troque o "sprite_esquerda" pelo nome da sprite do lado esquerdo
...essa é uma maneira usando 2 sprites, uma para cada lado;

Para fazer com apenas uma sprite (inverter imagem) basta vc configurar a origem dela como centralizado em x (na tela de edição de sprites em "Origin" o valor de x deve ser metade do valor total da largura da imagem)... então tente isso:
Código:
if direction=0 //se direção = direita
image_xscale=1 //escala da imagem = 1
else
image_xscale=-1 //escala da imagem = -1 (inverte ou "espelha" a imagem)


Espero que ajude!

flw

t+



EDIT: Opa, esqueci de mencionar que o código deve ser colocado em um evento "Step" (que checa a condição continuamente)


Última edição por fmanna em Qua 03 Dez 2008, 21:40, editado 1 vez(es)
avatar
Data de inscrição : 11/08/2008
Número de Mensagens : 468
Insígnias de JAM :

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

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

Re: ajuda inimigos

em Qua 03 Dez 2008, 21:35
if direction=0 //se direção = direita
image_xscale=1 //escala da imagem = 1
else
image_xscale=1 //escala da imagem = -1 (inverte ou "espelha" a imagem)
Isso não está errado? Acho que o certo é:

Código:
if direction=0 //se direção = direita
image_xscale=1 //escala da imagem = 1
else
image_xscale=-1 //escala da imagem = -1 (inverte ou "espelha" a imagem)

Vc esqueceu de colocar o sinal de -
avatar
Data de inscrição : 03/12/2008
Número de Mensagens : 5
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: ajuda inimigos

em Qua 03 Dez 2008, 21:41
mas assim cara , o codigo do inimigo caminhar ta assim :

if distance_to_object(obj_soldado)<200 and parado = true
sprite_index=spr_ini_anda
image_speed=0.12


{ speed=1
direction=point_direction(x,y,obj_soldado.x,obj_soldado.y) }
if distance_to_object(obj_soldado)>200 { speed=0 }
if distance_to_object(obj_soldado)>200 and parado = true
sprite_index=spr_inimigo1
if distance_to_object(obj_soldado)<0 { speed=0 }
if distance_to_object(obj_soldado)<0 and parado=true
sprite_index=spr_inimigo1

if sprite_index=spr_morto1
speed = 0


pro inimigo seguir o obj_soldado quando estiver perto,o jogo tem a visao de cima,entao eu queria sabe como faze se o obj_soldado ir para a direita o inimigo ficar com o sprite virado para a direita e vice versa.
mas vlw pela ajuda cara.
Convidad
Convidado

Re: ajuda inimigos

em Qua 03 Dez 2008, 21:41
Pode crer XD... veja que no comentário estava como -1, esqueci justamente onde é mais necessário =P

Vlw juninho...

t+


EDIT: Mal ae então, eu tinha entendido que vc queria que o inimigo tivesse a imagem para a direção "dele" e não do personagem... mas de qq forma se o inimigo persegue o player ele vira para a mesma direção não?
avatar
Data de inscrição : 03/12/2008
Número de Mensagens : 5
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: ajuda inimigos

em Qua 03 Dez 2008, 21:47
nao cara ele fica sempre com o sprite para direita.
imagem:

os de azul sao os inimigos e o player o preto.
Convidad
Convidado

Re: ajuda inimigos

em Qua 03 Dez 2008, 21:55
Vc disse que o game é top-down (visto de cima), neste caso os movimentos são 360°? se forem use image_angle para girar a sprite... vc só usa uma única que gira para qq direção...

...agora se não é isso, tente fornecer mais detalhes para que possamos interpretar melhor a situação que vc deseja =]

flw
avatar
Data de inscrição : 03/12/2008
Número de Mensagens : 5
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: ajuda inimigos

em Qua 03 Dez 2008, 21:59
é cara isso mesmo que tu disse.
ja tentei com image_angle mais os bonecos ficam girando sem parar para um lado.
naum poderia da uma ajuda nos codigo ai cara?é que so meio iniciante cara.ehhehe
vlw
Convidad
Convidado

Re: ajuda inimigos

em Qua 03 Dez 2008, 22:06
Ah sim, agora que vc disse que é assim vejamos...

...eu já fiz isso assim:

No step vc add um move_towards_point(obj_player.x,obj_player.y,0) // repare que é sem valor de aceleração, isso é só para ele gerar um valor de "direction" na direção do player;

Então ainda no step vc faz image_angle=direction... pronto, a imagem do inimigo vai girar de acordo com a direção que ele se mover!

Se vc já tiver um código de movimento que gera um valor de "direction" nem precisa da 1° parte, só o image_angle=direction =]

Tenta ae e diz o que deu =D

t+
avatar
Data de inscrição : 03/08/2008
Número de Mensagens : 1156
Insígnias de JAM :

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

Prêmios
   : 1
   :
   :
Ver perfil do usuáriohttp://www.ciganospictures.hd1.com.br

Re: ajuda inimigos

em Qua 03 Dez 2008, 22:09
tah meio dificil de entende qual o conflito, se puder postar a engine ai eu tento arruma pra ti
avatar
Data de inscrição : 03/12/2008
Número de Mensagens : 5
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: ajuda inimigos

em Qua 03 Dez 2008, 22:47
vlw ae pela ajuda,caso resolvido,apenas adicionei o image_anlge = direction no codigo que funfo.hehehe Very Happy
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