Yaptığımız oyunun her ekrana sığmaması karşılaştığımız bir sorun. Bunu çözmek için basit bir kod bloğumuz var.
Oyunu 720 x 1280 ekrana göre yazdığım için kod içinde de 720’ye göre ayarladım. Daha sonra dik ekrana göre yazıyorum. Bunun ölçüsü de 9:16 oluyor. Yatay yapmak isterseniz 16:9 yapmanız yeterli olacaktır. Kodu yazıp kameraya ekleyelim.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SetScreenSize : MonoBehaviour
{
void Start()
{
GameObject mainCamera = GameObject.Find("Main Camera");
Camera.main.orthographicSize = (720 * (16f / 9f) / 2) / 100;
Camera.main.aspect = 9f / 16f;
float camHalfHeight = Camera.main.orthographicSize;
float camHalfWidth = Camera.main.aspect * camHalfHeight;
mainCamera.transform.position = new Vector3(mainCamera.transform.position.x, camHalfHeight, mainCamera.transform.position.z);
Vector3 topLeftPosition = new Vector3(-camHalfWidth, camHalfHeight, 0) + Camera.main.transform.position;
print("Top Left : " + topLeftPosition);
}
}
Oyunu çalıştırdığınız zaman kamerada kayma olabilir. Kamera kayma olduğunda ise konum değerlerini kaydedin ve oyunu durdurun. Daha sonra bu değerleri kameraya işleyin. Artık oyununuzu her ekrana uygun şekilde kullanabilirsiniz.
void Awake()
{
float heightDivWith = (float)Screen.height/(float)Screen.width;
float val =heightDivWith/(9f/16f);
if (val>1)
{
Camera.main.orthographicSize *= val;
}
//Rica Ederim
}
Teşekkürler 🙂