CodeBlanks Logo Icon CodeBlanks

Meydan okuma 3: Editor menüsü

MenuItem ile menüye açılan bir araç metodu yazarsın.

MenuItem özniteliği

[MenuItem] özniteliği, editördeki menüye yeni bir satır ekler ve tıklandığında o metodu çalıştırır. Metot statik olmalıdır çünkü nesne olmadan çağrılır. Menü yolu, örneğin "Tools/Arac", aracın menüde nerede duracağını belirler ve araç UnityEditor ad alanı ile yazılır.

[MenuItem("Tools/BasitArac")]
static void BasitArac()
{
    Debug.Log("Arac calisti");
}

Böylece geliştirme araçları doğrudan menüden kullanılabilir.

Uygulama Basit menü aracı

EditorAraci sınıfında Tools/BasitArac yolunu [MenuItem] ile tanımla. BasitArac adında statik bir metod yaz ve bu metodda Debug.Log ile "Arac calisti" metnini yazdır.

Başlangıç kodu

Player.cs
using UnityEditor;
using UnityEngine;

public class EditorAraci
{
    // MenuItem ozelligi ile Tools/BasitArac yolunu tanimla
    // BasitArac adinda statik bir metod yaz
    // "Arac calisti" metnini yazdir
}

Örnek çözüm

Player.cs
using UnityEditor;
using UnityEngine;

public class EditorAraci
{
    [MenuItem("Tools/BasitArac")]
    static void BasitArac()
    {
        Debug.Log("Arac calisti");
    }
}

Beklenen çıktı

Arac calisti

Uygulama Sahne kontrol aracı

SahneAraci sınıfında Tools/SahneKontrol yolunu [MenuItem] ile tanımla. SahneKontrol adında statik bir metod yaz ve bu metodda Debug.Log ile "Sahne hazir" metnini yazdır.

Başlangıç kodu

Player.cs
using UnityEditor;
using UnityEngine;

public class SahneAraci
{
    // MenuItem ozelligi ile Tools/SahneKontrol yolunu tanimla
    // SahneKontrol adinda statik bir metod yaz
    // "Sahne hazir" metnini yazdir
}

Örnek çözüm

Player.cs
using UnityEditor;
using UnityEngine;

public class SahneAraci
{
    [MenuItem("Tools/SahneKontrol")]
    static void SahneKontrol()
    {
        Debug.Log("Sahne hazir");
    }
}

Beklenen çıktı

Sahne hazir

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bir [MenuItem] aracının çalışması için metot nasıl tanımlanmalı?

  • Statik bir metod olarak Doğru cevap
  • Update metodu içinde
  • Bir MonoBehaviour bileşeni olarak
  • Constructör olarak

Açıklama: Menüden çağrılan metot nesne gerektirmediği için statik tanımlanır.

2 Menü özniteliği

Soru
    [____("Tools/Arac")]
Cevap
    [MenuItem("Tools/Arac")]

Açıklama: Menüye araç ekleyen özniteliğin adı MenuItem'tir.

3 Editör aracı terimleri

Kavram Anlamı
MenuItem Metodu menüye ekleyen öznitelik
Statik metod Nesne olmadan çağrılan metod
Editör aracı Geliştirmede kullanılan yardımcı
Tools yolu Menüde aracın görüneceği satır

Uzman bölümündeki tüm dersler