GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


mouse_x/y em modo 3D

2 participantes

Ir para baixo

mouse_x/y em modo 3D Empty mouse_x/y em modo 3D

Mensagem por Witen Qui 31 Jan 2013, 14:25

Como sabe as variáveis mouse_x é mouse_y marcam a posição do mouse em referencia a room, o problema é que no modo 3D a variável marca a posição do mouse em relação a view. Bom agora já da para advinha... existe algum modo do mouse_x/y marca de acordo com a room independente da posição (projeção) da câmera.
Witen
Witen

Games Ranking : Sem avaliações

Data de inscrição : 23/05/2012
Reputação : 36
Número de Mensagens : 515
Prêmios : mouse_x/y em modo 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://www.wibix.webs.com

Ir para o topo Ir para baixo

mouse_x/y em modo 3D Empty Re: mouse_x/y em modo 3D

Mensagem por luiz_eldorado Qui 31 Jan 2013, 16:26

Olha, eu vi isso na GMSKD do Jiraya. Tem dois scripts, primeiro você usa o ConvertPrepare:
Código:
// ConvertPrepare(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup,angle,aspect);
var mm;
dX = argument3 - argument0;
dY = argument4 - argument1;
dZ = argument5 - argument2;
mm = sqrt(dX*dX + dY*dY + dZ*dZ);
dX /= mm;
dY /= mm;
dZ /= mm;
uX = argument6;
uY = argument7;
uZ = argument8;
mm = uX*dX + uY*dY + uZ*dZ;
uX -= mm*dX;
uY -= mm*dY;
uZ -= mm*dZ;
mm = sqrt(uX*uX + uY*uY + uZ*uZ);
uX /= mm;
uY /= mm;
uZ /= mm;
tFOV = tan(argument9*pi/360);
uX *= tFOV;
uY *= tFOV;
uZ *= tFOV;
vX = uY*dZ - dY*uZ;
vY = uZ*dX - dZ*uX;
vZ = uX*dY - dX*uY;
vX *= argument10;
vY *= argument10;
vZ *= argument10;
Depois o Convert_2d:
Código:
// Convert_2d(x,y,xfrom,yfrom,zfrom,view)
// The script returns the 3d x and y coordinates at z = 0
screenx = 2*argument0/min(window_get_width(),room_width)-1;
screeny = 1-2*argument1/min(window_get_height(),room_height);
mX = dX + uX*screeny + vX*screenx;
mY = dY + uY*screeny + vY*screenx;
mZ = dZ + uZ*screeny + vZ*screenx;
if mZ != 0
begin
    d3d_mouse_x = argument2 - argument4 * mX / mZ;
    d3d_mouse_y = argument3 - argument4 * mY / mZ;
end;
else
begin
    d3d_mouse_x = argument2 - argument4 * mX;
    d3d_mouse_y = argument3 - argument4 * mY;
end;
Só tem um problema, ele só vê onde o mouse está no z = 0. Ou seja, não dá pra saber se está encostando em paredes, ele irá, basicamente, atravessar a parede e chegar no chão.

Até menos!
luiz_eldorado
luiz_eldorado

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/07/2011
Reputação : 47
Número de Mensagens : 928
Prêmios : mouse_x/y em modo 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

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

http://luizpontes.tk/

Ir para o topo Ir para baixo

mouse_x/y em modo 3D Empty Re: mouse_x/y em modo 3D

Mensagem por Witen Qui 31 Jan 2013, 19:30

KKKK eu te perguntei no Facebook você não soube responder, vou testa aqui se de certo do um EDIT!

***EDIT***

Configurei os scripts de acordo com a projeção da câmera, o resto dos argumentos coloque com o valor 0:

Código:
ConvertPrepare(x,y,z, 25+phspeed*4+cos(90*pi/180),25+pvspeed*4+lengthdir_y(-36+z,90)-sin(90*pi/180),40-z, 0,0,1,0,0)
Convert_2d(x,y,x,y,z,0)

Usei d3d_mouse_x/y para substituir mouse_x/y...
Witen
Witen

Games Ranking : Sem avaliações

Data de inscrição : 23/05/2012
Reputação : 36
Número de Mensagens : 515
Prêmios : mouse_x/y em modo 3D Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

http://www.wibix.webs.com

Ir para o topo Ir para baixo

mouse_x/y em modo 3D Empty Re: mouse_x/y em modo 3D

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos