Ajuda com jogo de Arco??

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

Ajuda com jogo de Arco??

Mensagem por galaverna em Seg 26 Set 2011, 13:56

Olá , eu estou tentando ffazer um jogo de aventura "topdown" é um pouco top down só , e eu quero fazer um tiro de arco e flecha com o mouse , tá tudo certo , porem quando a flecha sair como eu vou fazer trocar a sprite, ou até rodar com o draw_sprite_ext?? como eu faço , meu player ta assim :
STEP:
Código:
if mouse_check_button(mb_left)then instance_create(x,y,obj_arrow)

e tem a movimentação do personagem,mais isso nao vem ao caso...e na flecha ocmo eu faço para ela girar para o lado que eu cliquei ?? valeuuu!!

galaverna

Número de Mensagens : 237
Idade : 22
Data de inscrição : 13/11/2010
Reputação : -1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com jogo de Arco??

Mensagem por saim em Seg 26 Set 2011, 14:07

A função que você procura é point_direction. Ela te retorna um ângulo que você pode usar como argumento pro draw_sprite_ext.
Talvez você não conheça, também, as variáveis "mouse_x" e "mouse_y". Elas equivalem às coordenadas (x, y) do mouse.

Lembre-se que, se você não atualizar o image_angle, não importa como você a desenhe, as colisões da flecha considerarão o ângulo zero. Lembre-se, também, que "zero" corresponde a apontar pra direita (eu, pelo menos, tenho o péssimo hábito de fazer desenhos apontando pra cima).

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Ajuda com jogo de Arco??

Mensagem por galaverna em Seg 26 Set 2011, 14:15

certo , eu conheço até as funções mais , não entendi muito bem como usa , porem tentarei conseguir sozinho , muito obrigado
------------------ oque seria xscale e yscale?--------------------------

galaverna

Número de Mensagens : 237
Idade : 22
Data de inscrição : 13/11/2010
Reputação : -1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com jogo de Arco??

Mensagem por saim em Seg 26 Set 2011, 14:21

pra usar o point_direction, você precisa de 2 pontos, a origem e o destino (nessa ordem). A origem pode ser player.x e player.y e a origem, mouse_x e mouse_y.

O resto me parece bem simples. Se você não conseguir, me mostre seus códigos da flecha pra eu poder comentar.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Ajuda com jogo de Arco??

Mensagem por galaverna em Seg 26 Set 2011, 14:26

Certo , agora completamente compreendido só uma perguntinha oque é xscale e yscale?? obrigado!

galaverna

Número de Mensagens : 237
Idade : 22
Data de inscrição : 13/11/2010
Reputação : -1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com jogo de Arco??

Mensagem por y_Tiago em Seg 26 Set 2011, 14:36

Um exemplo de como fazer:

OBS.: Para usar do seguinte jeito, você precisa da versão registrada, Pro, do Game Maker.

No Mouse Click event que cria o obj_flecha:
Código:
image_angle = point_direction(x, y, mouse_x, mouse_y); // aqui definimos a direcao
//baseada onde foi clicado
direcao = image_angle
instance_create(x,y,obj_flecha)
No Create do obj_flecha:
Código:
direction=obj_player.direcao //aqui colocamos a direcao do movimento da flecha, que //será a que capturamos na hora do clique.
speed=velocidade // coloque aqui sua velocidade
No Draw do obj_flecha.
Código:
draw_sprite_ext(spr_flecha,0,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha) //aqui desenhamos a imagem apontada para a direcao do clique.

E o x/y_scale é a escala para transformar a imagem, para não mexer nessa parte coloque image_xscale e image_yscale.

Use essa imagem para se orientar quanto aos ângulos no Game Maker:

y_Tiago

Número de Mensagens : 149
Idade : 19
Data de inscrição : 13/10/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Ajuda com jogo de Arco??

Mensagem por galaverna em Seg 26 Set 2011, 18:50

Aah , muito obrigado , estou realmente grato , porem eu achei um erro no seu codigo , quando gira a flecha gira o meu personagem tambem , isso ficou estranho!! Como eu arrumo?

RESOLVI!!

galaverna

Número de Mensagens : 237
Idade : 22
Data de inscrição : 13/11/2010
Reputação : -1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com jogo de Arco??

Mensagem por y_Tiago em Seg 26 Set 2011, 19:15

Código corrigido:
No Mouse Click event que cria o obj_flecha:
Código:
direcao  = point_direction(x, y, mouse_x, mouse_y); // aqui definimos a direcao
//baseada onde foi clicado
instance_create(x,y,obj_flecha)
No Create do obj_flecha:
Código:
direction=obj_player.direcao //aqui colocamos a direcao do movimento da flecha, que //será a que capturamos na hora do clique.
speed=velocidade // coloque aqui sua velocidade
No Draw do obj_flecha.
Código:
draw_sprite_ext(spr_flecha,0,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha) //aqui desenhamos a imagem apontada para a direcao do clique. PS: para dar //certo a imagem original precisa ser na direcao 0°, para a direita.

y_Tiago

Número de Mensagens : 149
Idade : 19
Data de inscrição : 13/10/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Ajuda com jogo de Arco??

Mensagem por galaverna em Seg 26 Set 2011, 19:15

ja resolvi hehe obrigado!!

galaverna

Número de Mensagens : 237
Idade : 22
Data de inscrição : 13/11/2010
Reputação : -1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Ajuda com jogo de Arco??

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


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