"Enter"a basıp içeriğe geçin

Unity 2D Oyunu Her Ekrana Sığdırma

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.

2 Yorum

  1. void Awake()
    {
    float heightDivWith = (float)Screen.height/(float)Screen.width;
    float val =heightDivWith/(9f/16f);
    if (val>1)
    {
    Camera.main.orthographicSize *= val;
    }
    //Rica Ederim
    }

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.