Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[Duvida]zoom android
2 participantes
Página 1 de 1
[Duvida]zoom android
Baixei um script de zoom pra android, e pra minha surpresa ele funciona
mais nem td são flores parece incompleto, {gostaria que o zoom sempre foce realizado no meio da tela, que o limite máximo foce de 3x e limite minimo foce do tamanho real da imagem, é um belo problema matemático} alguem??
Create()
Glob left button()
mais nem td são flores parece incompleto, {gostaria que o zoom sempre foce realizado no meio da tela, que o limite máximo foce de 3x e limite minimo foce do tamanho real da imagem, é um belo problema matemático} alguem??
Create()
- Código:
initial_w_view = view_wview[0];
view_scale = 1;
global.minzoom = 0.1;
initial_x = 0;
initial_y = 0;
initial_zoom = 0;
Glob left button()
- Código:
var view_ratio;
view_ratio = view_hview[0]/view_wview[0];
if( device_mouse_check_button_pressed( 1, mb_left ) )
{
initial_x = mean( device_mouse_x( 0 ), device_mouse_x( 1 ) );
initial_y = mean( device_mouse_y( 0 ), device_mouse_y( 1 ) );
initial_zoom =
point_distance
(
device_mouse_raw_x( 0 ), device_mouse_raw_y( 0 ),
device_mouse_raw_x( 1 ), device_mouse_raw_y( 1 )
)*view_scale;
};
if( device_mouse_check_button( 1, mb_left ) )
{
view_scale = initial_zoom/
point_distance
(
device_mouse_raw_x( 0 ), device_mouse_raw_y( 0 ),
device_mouse_raw_x( 1 ), device_mouse_raw_y( 1 )
);
view_wview[0] = initial_w_view*clamp(view_scale, global.minzoom, 10);
view_hview[0] = view_wview[0]*view_ratio;
view_xview[0] += initial_x-mean( device_mouse_x( 0 ), device_mouse_x( 1 ) );
view_yview[0] += initial_y-mean( device_mouse_y( 0 ), device_mouse_y( 1 ) );
};
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Duvida]zoom android
Sério, gente me ajudem só falta isso pra terminar meu jogo não consigo fazer um zoom perfeito alguém pode me ajudar, prometo que fico 3 meses sem pedir nd aqui no forum uahuahuha beijo do Gonzo
Última edição por Gonzo em Dom 28 Set 2014, 00:46, editado 1 vez(es)
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Duvida]zoom android
Pegue o valor do aumento de view_w/hview divida pela metade e subtraia em view_x/yview.
Re: [Duvida]zoom android
Baseado no que eu preciso alguem poderia criar esse sistema de uma forma mais limpa? agradeço desde já
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Duvida]zoom android
Achei finalmente um script bacana uhauah
em create event() cole o code
{
initial_x = 0;
initial_y = 0;
initial_w = view_wview[0];
initial_h = view_hview[0];
initial_zoom = 0;
view_scale = 1;
}
em step event cole o code()
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]
}
A duvida agora é..
como ampliar com menos velocidade sem tremer tanto e colocar um limite para o zoom, fico no aguardo obrigado.
em create event() cole o code
{
initial_x = 0;
initial_y = 0;
initial_w = view_wview[0];
initial_h = view_hview[0];
initial_zoom = 0;
view_scale = 1;
}
em step event cole o code()
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]
}
A duvida agora é..
como ampliar com menos velocidade sem tremer tanto e colocar um limite para o zoom, fico no aguardo obrigado.
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» dúvida com zoom
» [Duvida] zoom em obj especifico
» [Duvida] sdk android
» [Duvida] Zoom só na area selecionada - GMS
» [Duvida] A procura do zoom padrão
» [Duvida] zoom em obj especifico
» [Duvida] sdk android
» [Duvida] Zoom só na area selecionada - GMS
» [Duvida] A procura do zoom padrão
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos