Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Ontem à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
17 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 17 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

Posição X e Y

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

Posição X e Y

Mensagem por Isquilo_Roedor em Ter 24 Jun 2014, 14:38

Uma coisa que me estressa é ter que por exemplo ir chutando a posição X e Y para posicionar um objeto atraves de um código,eu queria saber se tem como medir a posição X e Y para não ter que ficar adivinhando através dos códigos,um exemplo é no código da minha arma,por exemplo if keyboard_check(vk_space) = true
instance_create (obj_bala,x+10,y+5)
o codigo acho que nao esta correto é so exemplo
porém eu vou fazendo no chute até a bala sair da melhor posição possivel da arma
tem algum jeito de calcular a posição antes de adicionar ali tipo medir?
avatar
Isquilo_Roedor

Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Posição X e Y

Mensagem por Witen em Ter 24 Jun 2014, 14:51

Olhe no sprite que você usa como arma, e pegue a posição que você quer que o tiro saia(seja criado)
Código:
instance_create(obj_bala,x+Posição_x,y+Posição_y)
Mas se você esta criando um jogo em que o angulo da arma muda de acordo com a posição do mouse, por exemplo ddtank ou um jogo de tiro top view, você terar que usar a função lengthdir que transforma uma posição do plano cartesiano em cordeada polar(aquela com a direção e o raio), assim o codigo ficaria:
Código:
instance_create(obj_bala,x+lengthdir_x(1,Angulo_do_tiro),y+lengthdir_y(1,Angulo_do_tiro))
avatar
Witen

Ranking : Sem avaliações
Data de inscrição : 23/05/2012
Número de Mensagens : 515
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário http://www.wibix.webs.com

Voltar ao Topo Ir em baixo

Re: Posição X e Y

Mensagem por chicoweb em Ter 24 Jun 2014, 15:51

Eu entendi o que vc quiz dizer, também sofria com isso.
A solução que achei reduz bastante a quantidade de chutes da posição.

Vou tentar explicar na teoria to sem tempo:

Exemplo vc tem dois objetos com os sprites: spr_player, spr_arma
Quer posicionar a arma cujo gatilho fique no dedo do player exatamente.

1 - Abre o spr_player pelo editor de sprite do gm mesmo.

2 - Aponte o mouse ali no dedo do player, vai aparecer na barra de status do editor as coordenadas do mouse, ou seja do dedo, dentro do sprite do player, se vc não vir essa barra, maximize o editor que aparecerá.

3 - Ai vc anota essas coordenadas, exemplo 42,48;

4 - Abre o sprite da arma e faça o mesmo aponte o mouse para o gatilho da arma, e pegue as coords, exemplo: 12,16;

5 - Pronto com esses dados fica mole:

Código:
xx = obj_player.x + 42 - 12
yy = obj_player.y + 48 - 16
instance_create(obj_arma,xx,yy)

6 - EDIT: Esqueci de avisar, isso ai em cima serve para os sprites que tem os pontos de origem (Origin) x e y no ponto zero, se o seu sprite tiver outro origin, por exemplo: 8,4, ai tem que colocar assim:

Código:
xx = obj_player.x + 42 - 12 - 8
yy = obj_player.y + 48 - 16 - 4
instance_create(obj_arma,xx,yy)
1

Faça script e armazena os valores em variaveis, melhore essa rotina minha ai que citei, pois foi só uma teoria.
avatar
chicoweb

Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Posição X e Y

Mensagem por 7hiagomp em Ter 24 Jun 2014, 16:32

Eu uso o debugger antigo e coloco pra mostrar a posição do mouse, ai coloco o mouse onde quero e vejo o x e y do mouse.  Ai vou lá no codigo e coloco os valores certos.

as vezes precisa dar um tapinha pra mais ou pra menos.  Mas é um bom atalho.  ahaha.

O melhor jeito de vc fazer isso é você não colocar valores absolutos, tipo, se for uma arma usa Draw invés de step e coloca sempre a posição em relação posição do player. A arma fica an posição x e y do player + 20 pixels. Assim é bem mais facil de fazer o layout.
avatar
7hiagomp

Data de inscrição : 21/04/2014
Número de Mensagens : 124
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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