[Duvida] A procura do zoom padrão

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

[Duvida] A procura do zoom padrão

Mensagem por Gonzo em Qua 15 Out 2014, 12:22

Olá, alguém pode limitar esse script de zoom em 2 ou 3 vezes o seu tamanho real e fazer com que o obj ampliado não trema na hora do zoom, a pessoa que resolver esse Tópico ganhara um prêmio, uma coisa muito desejada por tds, enviarei por Mp
Happy abç

Create()
Código:
{
initial_x = 0;                  
initial_y = 0;                  
initial_w = view_wview[0];    
initial_h = view_hview[0];      
initial_zoom = 0;              
view_scale = 1;                
}
Step
Código:
var mx0, my0, mx1, my1, mx0raw, my0raw, mx1raw, my1raw;


mx0 = device_mouse_x(0); my0 = device_mouse_y(0);                  
mx1 = device_mouse_x(1); my1 = device_mouse_y(1)                  
mx0raw = device_mouse_raw_x(0); my0raw = device_mouse_raw_y(0)    
mx1raw = device_mouse_raw_x(1); my1raw = device_mouse_raw_y(1)


if ( device_mouse_check_button_pressed(1, mb_left) )
{initial_x = mean(mx0, mx1);initial_y = mean(my0, my1);                      
 initial_zoom = point_distance(mx0raw, my0raw, mx1raw ,my1raw) * view_scale  
}


if ( device_mouse_check_button(1, mb_left) )                                
{
view_scale = initial_zoom / point_distance(mx0raw, my0raw, mx1raw, my1raw);  
if (view_scale > 1) view_scale = 1;                                          
view_wview[0] = initial_w * view_scale;                                        
view_hview[0] = initial_h * view_scale


view_xview[0] += initial_x - mean(mx0, mx1)                                  
view_yview[0] += initial_y - mean(my0, my1)                                    

if (view_xview[0] < 0) view_xview[0] = 0                                      
if (view_xview[0] + view_wview[0] > room_width)
view_xview[0] = room_width - view_wview[0]


if (view_yview[0] < 0) view_yview[0] = 0                                      
if (view_yview[0] + view_hview[0] > room_height)
view_yview[0] = room_height - view_hview[0]    
}

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: [Duvida] A procura do zoom padrão

Mensagem por Isaque Onix em Qua 15 Out 2014, 12:43

coloque no step:
view_scale=median(valorminimo,view_scale,valormaximo)

coloque antes de TODOS os codigos do step depois da 1ª linha, e altere as partes marcadas de vermelho para os valores minimo e maximo desejado, e so ler.

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [Duvida] A procura do zoom padrão

Mensagem por Gonzo em Qua 15 Out 2014, 13:04

ok funcionou +ou- agora só falta a questão de quando está ampliando a imagem treme feito mal de parcsom xD

se refizer o code ganha um bonus 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: [Duvida] A procura do zoom padrão

Mensagem por Isaque Onix em Qua 15 Out 2014, 13:06

infelizmente nao da... to sem tempo,trabalhando no meu projeto...

passei o olho no teu codigo e vi algo que TALVEZ seja certo:

Código:
var mx0, my0, mx1, my1, mx0raw, my0raw, mx1raw, my1raw;


mx0 = device_mouse_x(0); my0 = device_mouse_y(0);                 
mx1 = device_mouse_x(1); my1 = device_mouse_y(1)                 
mx0raw = device_mouse_raw_x(0); my0raw = device_mouse_raw_y(0)   
mx1raw = device_mouse_raw_x(1); my1raw = device_mouse_raw_y(1)


if ( device_mouse_check_button_pressed(1, mb_left) )
{initial_x = mean(mx0, mx1);initial_y = mean(my0, my1);                     
 initial_zoom = point_distance(mx0raw, my0raw, mx1raw ,my1raw) * view_scale 
}


if ( device_mouse_check_button(1, mb_left) )                               
{
value=initial_zoom / point_distance(mx0raw, my0raw, mx1raw, my1raw); 
if(value<maximo && value>minimo){view_scale = value}else{exit}
if (view_scale > 1) view_scale = 1;                                         
view_wview[0] = initial_w * view_scale;                                       
view_hview[0] = initial_h * view_scale


view_xview[0] += initial_x - mean(mx0, mx1)                                 
view_yview[0] += initial_y - mean(my0, my1)                                   

if (view_xview[0] < 0) view_xview[0] = 0                                     
if (view_xview[0] + view_wview[0] > room_width)
view_xview[0] = room_width - view_wview[0]


if (view_yview[0] < 0) view_yview[0] = 0                                     
if (view_yview[0] + view_hview[0] > room_height)
view_yview[0] = room_height - view_hview[0]   
}
tenta trocar o seu e ve no que da


Última edição por Isaque Onix em Qua 15 Out 2014, 13:18, editado 1 vez(es)

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [Duvida] A procura do zoom padrão

Mensagem por Gonzo em Qua 15 Out 2014, 13:13

então vou aguardar uma próxima ajuda, mais não se preocupe enviarei o arquivo pra vc tbm, assim que esse topico for resolvido, vlw

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: [Duvida] A procura do zoom padrão

Mensagem por Isaque Onix em Qua 15 Out 2014, 13:19

ok...
Ps: editei a resposta acima...

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [Duvida] A procura do zoom padrão

Mensagem por Gonzo em Qua 15 Out 2014, 13:53

xD agora o zoom parou de funcionar .-.

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: [Duvida] A procura do zoom padrão

Mensagem por Isaque Onix em Qua 15 Out 2014, 14:04

voce editou esta parte do codigo q te passei?

if(value<maximo && value>minimo){view_scale = value}else{exit}

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [Duvida] A procura do zoom padrão

Mensagem por Gonzo em Qua 15 Out 2014, 14:06

sim

if(value<4 && value>1){view_scale = value}else{exit}

ta certo ?

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: [Duvida] A procura do zoom padrão

Mensagem por Isaque Onix em Qua 15 Out 2014, 14:09

e sim, foi mal, erro meu... na verdade nao estou testando, nao tem como... :/

value=initial_zoom / point_distance(mx0raw, my0raw, mx1raw, my1raw);
if(value<4&& value>1){view_scale = value}

so removi o else{exit}

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [Duvida] A procura do zoom padrão

Mensagem por Gonzo em Qua 15 Out 2014, 14:15

Cara não funcionou, sem testa é dificil mesmo, mais vlw mesmo assim quando alguem resolver te mando o arquivo tbm
vlw

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: [Duvida] A procura do zoom padrão

Mensagem por Isaque Onix em Qua 15 Out 2014, 14:19

ta ok... '-'
boa sorte ae...

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: [Duvida] A procura do zoom padrão

Mensagem por Conteúdo patrocinado Hoje à(s) 16:25


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