Checar mouse em 3D

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

Checar mouse em 3D

Mensagem por Gonzo em Ter 03 Fev 2015, 20:39

Olá, em um menu 2D para mudar a sprite é muito facil, vc cria um obj adiciona o
mouse enter() e nesse evento vc coloca imagem_index=1, sendo que em create event() estará setado como imagem_index=0 exitem mais detalhes porem esse não é o ponto, minha duvida em relação ao 3D, como que faço pra mudar o sprite do obj ?  What a Face

Gonzo

Número de Mensagens : 927
Data de inscrição : 29/05/2012
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Checar mouse em 3D

Mensagem por gabrielsch em Ter 03 Fev 2015, 21:00

Poderia explicar melhor o teu problema? Tu quer checar se o mouse está sobre um objeto numa projeção 3D?

___________


Acesse: http://foxen.com.br/



gabrielsch

Ranking : Nota A
Número de Mensagens : 1229
Idade : 21
Data de inscrição : 06/12/2009
Notas recebidas : D + A + A
Reputação : 28
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Checar mouse em 3D

Mensagem por JoaoVanBlizzard em Ter 03 Fev 2015, 21:17

@Gabrielcsh:Ele quer saber como fazer para criar um menu que pode ser selecionado com o mouse, tipo o que você fez no Lavenna

JoaoVanBlizzard

Ranking : Nota B
Número de Mensagens : 1925
Idade : 38
Data de inscrição : 04/03/2012
Notas recebidas : B+B
Reputação : 144
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Checar mouse em 3D

Mensagem por Gonzo em Ter 03 Fev 2015, 21:26

exemplo imagine um jogo de Fps no canto da tela tem um botao ai eu vou la com o mouse em cima do botao e clico ai a imagem index do botao muda, é isso Smile tosco né mais eu não sei fazer hehe

Gonzo

Número de Mensagens : 927
Data de inscrição : 29/05/2012
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Checar mouse em 3D

Mensagem por gabrielsch em Ter 03 Fev 2015, 22:21

As funções 2D do GM, exceto algumas geralmente relacionadas ao draw, funcionam perfeitamente enquanto o 3D estiver habilitado o único problema é que desenhar coisas no evento Draw enquanto estiver no 3D faz com que tudo fique de cabeça para baixo, isso é facilmente contornado utilizando o evento Draw GUI que por sua vez não tem alterações, apenas se tu habilitar a iluminação ou fog.
Então pra resolver o teu problema basta criar um objeto que será o botão, e verificar se o mouse está sobre determinada área, desse jeito:

Código:
over = point_in_rectangle(mouse_x, mouse_y, x, y, x + sprite_width, y + sprite_height)

Depois basta usar a variável, no caso "over", como image_index no evento Draw GUI do mesmo objeto:

Código:
draw_sprite(spr_botao, over, x, y)

Tu pode usar a informação dessa variavel pra verificar o clique também, basta adicionar uma condição no Step:

Código:
if mouse_check_button_pressed(mb_left)
{
 if over = true
 {
  //ação aqui
 }
}

___________


Acesse: http://foxen.com.br/



gabrielsch

Ranking : Nota A
Número de Mensagens : 1229
Idade : 21
Data de inscrição : 06/12/2009
Notas recebidas : D + A + A
Reputação : 28
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Checar mouse em 3D

Mensagem por Gonzo em Ter 03 Fev 2015, 23:42

Vlw gabrielsch  olha eu estou usando o GM8, em mouse enter fiz o seguinte:

Código:
over =collision_circle(70,70,70,obj_1,0,0)
{
image_index=1
}
no mouse leave :
Código:
over =!collision_circle(22,40,30,obj_1,0,0)
{
image_index=0
}
e no Draw:
Código:

d3d_set_projection_ortho(0,0,1280,720,0)

draw_set_halign(1)

d3d_transform_set_identity()
d3d_transform_add_translation(62.5,20,0)
d3d_transform_add_scaling(1,1,1)

draw_sprite_ext(spr_1,over,25,50,1,1,0,c_white,1)

d3d_transform_set_identity()

tem como ver a area de colisão? pq ta invisível, ai pra arruma é soda hehe

Gonzo

Número de Mensagens : 927
Data de inscrição : 29/05/2012
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Checar mouse em 3D

Mensagem por Mr.Brum em Qua 04 Fev 2015, 00:53

Eae Gonzo, fiz uma engine pra te ajudar:
Link ultra enorme do One Drive:

https://onedrive.live.com/redir?resid=2E4E1E652CE0E235!216&authkey=!AM_DwKEX416TcD0&ithint=file%2cgmz

Fiz de duas formas, uma com mouse_enter e mouse_leave e outra checando a posição do mouse no step (para formas retangulares).

vê se te serve aí!

flw

What a Face

Mr.Brum

Ranking : Nota C
Número de Mensagens : 913
Idade : 25
Data de inscrição : 28/04/2011
Notas recebidas : D + D + C + C + D + B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://mrbrumgames.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Checar mouse em 3D

Mensagem por Gonzo em Qua 04 Fev 2015, 16:33

Vlw Mr.Brum filé a engine !! cheers

Gonzo

Número de Mensagens : 927
Data de inscrição : 29/05/2012
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Checar mouse em 3D

Mensagem por Conteúdo patrocinado Hoje à(s) 12:42


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