Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 14/07/13, 12:29:16
Avatar de luislopez12
luislopez12 luislopez12 no está en línea
Miembro del foro
Mensajes: 71
 
Fecha de registro: jul 2013
Mensajes: 71
Modelo de smartphone: HTC One
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Coordenadas con Zoom

Hola a todos, estoy desarrollando un juego en el que necesito saber las coordenadas donde pulsas en una imageview pero me han surgido dos problemas:
1.Dependiendo de la resolución del móvil donde se ejecute,estas coordenadas cambian, pero necesito que siempre sean las mismas.
2.Quiero que al hacer zoom sobre la imageview si pinchas en el mismo sitio las coordenadas sean las mismas que sin el zoom.

Tampoco he conseguido hacer zoom sobre la imageview con los dedos. ¿Alguien sabría como ayudarme? Gracias ;)
Responder Con Cita


  #2  
Viejo 14/07/13, 13:05:43
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Supongo que estás poniendo el ImageView a pantalla completa y en modo fitXY, porque si no no tendrías problemas con las distintas resoluciones.

1. Para hacer esto existen millones de formas, por ejemplo puedes calcular el % de X y el % de Y en la pantalla, y esto lo aplicas sobre la imagen. Obviamente tendrás que usar double o float. El % de X es el punto X (cuando hablo de % me refiero de 0 a 1, donde 1 es el 100%) donde pulsas en el MotionEvent Down dividido entre el getWidth() del ImageView (el % de Y es obvio). Y el punto X de la imagen correspondiente es el getWidth() de la imagen multiplicado por el X que acabas de calcular (lo mismo con el punto Y). Como te digo existen millones de formas, pero esta es una.

2. Es parecido al anterior, calcular el % de X y de Y de donde pulsas en el ImageView y luego aplicarlo sobre la imagen. Pero esta vez teniendo en cuenta el punto inicial y final de X (e Y) de la imagen en la pantalla. Es algo más complejo, y así a bote pronto no se decírtelo, tendría que calcularlo. Pero eso ya es cogerte un papel y un lápiz y empezar a hacer cálculos, que realmente es el primer paso siempre en la programación.

En cuanto a lo de hacer zoom en un ImageView, no se puede directamente, tienes que programarlo, existen ya algunas clases por ahí para hacer zoom y moverte por la imagen, incluso con doble click para alejar y acercar.

Última edición por kriogeN Día 14/07/13 a las 13:08:51
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 14/07/13, 13:24:37
Avatar de luislopez12
luislopez12 luislopez12 no está en línea
Miembro del foro
Mensajes: 71
 
Fecha de registro: jul 2013
Mensajes: 71
Modelo de smartphone: HTC One
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Supongo que estás poniendo el ImageView a pantalla completa y en modo fitXY, porque si no no tendrías problemas con las distintas resoluciones.

1. Para hacer esto existen millones de formas, por ejemplo puedes calcular el % de X y el % de Y en la pantalla, y esto lo aplicas sobre la imagen. Obviamente tendrás que usar double o float. El % de X es el punto X (cuando hablo de % me refiero de 0 a 1, donde 1 es el 100%) donde pulsas en el MotionEvent Down dividido entre el getWidth() del ImageView (el % de Y es obvio). Y el punto X de la imagen correspondiente es el getWidth() de la imagen multiplicado por el X que acabas de calcular (lo mismo con el punto Y). Como te digo existen millones de formas, pero esta es una.

2. Es parecido al anterior, calcular el % de X y de Y de donde pulsas en el ImageView y luego aplicarlo sobre la imagen. Pero esta vez teniendo en cuenta el punto inicial y final de X (e Y) de la imagen en la pantalla. Es algo más complejo, y así a bote pronto no se decírtelo, tendría que calcularlo. Pero eso ya es cogerte un papel y un lápiz y empezar a hacer cálculos, que realmente es el primer paso siempre en la programación.

En cuanto a lo de hacer zoom en un ImageView, no se puede directamente, tienes que programarlo, existen ya algunas clases por ahí para hacer zoom y moverte por la imagen, incluso con doble click para alejar y acercar.
Gracias por tu respuesta, en cuanto al imageview le he metido dentro de un frame layout porque sino me quedaban márgenes y yo quería la imagen a pantalla completa.
La verdad es que es más complejo de lo que pensaba, ;)
Responder Con Cita
  #4  
Viejo 16/07/13, 15:33:44
Avatar de luislopez12
luislopez12 luislopez12 no está en línea
Miembro del foro
Mensajes: 71
 
Fecha de registro: jul 2013
Mensajes: 71
Modelo de smartphone: HTC One
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
He intentado hacer que las coordenadas de la zona sobre la que se pulsa del TouchImageView sean las mismas al hacer zoom pero no lo consigo, ¿alguien podría explicarme algún ejemplo?
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 05:06:17 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007