Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Ajuste de tamaño y ubicación Optimo de objetos según Pantalla

Iniciado por fenixelian, Noviembre 10, 2016, 12:32:56 AM

Tema anterior - Siguiente tema
Noviembre 10, 2016, 12:32:56 AM Ultima modificación: Noviembre 10, 2016, 12:46:12 AM por fenixelian
Buenos días. Espero haber puesto esto en el lugar adecuado. Este es mi problema
 
Hago mi juego para android usando de manera predeterminada la resolución 800*1280. Claramente, cuando yo vea este juego en un dispositivo con otra resolución, los elementos puestos en escena se van a cambiar de lugar. Lo que hice actualmente fue lo siguiente:
 
Pongo todos los objetos dentro de uno padre, por ejemplo la cámara, y luego a la cámara le pongo un script que hace escalar los elementos de adentro según el tamaño. (hago solo una regla de 3 simple).
 

   Transform t;
void Start () {
   t = GetComponent<Transform> ();
   t.localScale = new Vector3(Screen.width/800F, Screen.height/1280F, 1);
}

 
Sin embargo esto no surge el efecto que yo quiero.
 
Lo que quiero es que si por ejemplo yo pongo un sprite que ocupa exactamente el cuarto de la pantalla superior izquierda, al cambiar los tamaños de la pantalla, siga ocupando el mismo sector(no importa que el sprite se deforme).
 
 
 
alguno me ayudaría con una solución para este problema? desde ya muchísimas gracias

Donde esta la regla de 3 simple? Y si utilizas Sprites, la UI de Unity hace el escalado automatico configurando un parametro del Canvas.

Cita de: GSG3D date=1478738216Donde esta la regla de 3 simple? Y si utilizas Sprites, la UI de Unity hace el escalado automatico configurando un parametro del Canvas.
   


O sea si la escala en vertical de mi objeto es 1 con alto de la pantalla en 1280, entonces cuando yo ponga la pantalla con alto 600 por ejemplo seria
 
1280----1
 
600-----x
 
donde esa x va a ser la escala que tendría que tener el objeto en una pantalla de 600. eso es lo que esta escrito en el código. solo que multiplicar por 1 no tiene sentido. Estoy familiarizado con el canvas, pero tampoco es exactamente lo que quiero. ya que si escala para distintos tamaños de pantalla pero no hace eso de que por ejemplo algo que ocupaba un cuarto de pantalla siga ocupando lo mimo en otras pantallas. ademas el canvas esta bueno para menús, pero para la parte del juego no funciona bien. o me equivoco?


Etiquetas: