# HUD Nedir ?

**AHUD (Actor HUD)**, Unreal Engine'de her istemci için var olan ve **PlayerController** üzerinden erişilebilen bir sınıftır. **AHUD** sınıfı, istemci tarafında kullanıcı arayüzünü (UI) yönetmek için kullanılan eski bir sınıftır. Bu sınıf, önceki sürümlerde, özellikle **Unreal Motion Graphics (UMG)** sistemi çıkmadan önce, ekranda metin, dokular ve diğer grafik öğelerini çizmek için kullanılıyordu.

Ancak **UMG**'nin yaygınlaşmasıyla birlikte, **AHUD** sınıfı neredeyse tamamen yerini **UserWidget**'lere bırakmıştır. Bu nedenle günümüzde **AHUD** sınıfı, yalnızca eski projelerde veya özel gereksinimler için kullanılmaktadır. Yine de, bazı durumlarda **AHUD** sınıfı, UI öğelerini (özellikle **UserWidget**'leri) oluşturmak, göstermek, gizlemek ve yok etmek gibi işlemleri yönetmek için izole bir alan olarak kullanılabilir.

#### AHUD'ın Temel Özellikleri

1. **Ekran Çizimi (Drawing on Screen)**:
   * **AHUD**, eskiden metin, resimler ve diğer görsel öğeleri ekrana çizmek için kullanılırdı. Ancak **UMG**'nin yaygınlaşmasının ardından, bu işlevlerin çoğu **UserWidget**'ler ile yapılmaya başlandı.
   * Bu, genellikle eski projelerde veya hala UI öğelerini doğrudan kodla kontrol etmek isteyen projelerde tercih edilebilir.
2. **UserWidgets ile İlişki**:
   * **AHUD** sınıfı, genellikle UI öğeleriyle ilgili işlemleri yönetmek için kullanılır. Ancak, günümüzde çoğu UI işlemi **UserWidget**'ler aracılığıyla yapılmaktadır. Bu, görsel arayüzleri daha modüler ve kullanıcı dostu bir şekilde oluşturmanıza olanak tanır.
   * **AHUD** yine de bazı durumlarda, **UserWidget**'leri yaratmak ve istemci ekranında göstermek için yardımcı bir sınıf olarak kullanılabilir.
3. **Multiplayer ile İlişki**:
   * **AHUD**, doğrudan çok oyunculu oyunlarla ilişkili bir sınıf değildir, çünkü yalnızca istemci tarafında bulunur ve her istemcinin kendine ait bir örneği vardır. Bu nedenle, multiplayer mantığı için daha çok **PlayerController** ve **UserWidget** gibi sınıflar kullanılır.

#### AHUD'ın Kullanım Alanları

1. **Debugging ve Test İşlemleri**:
   * **AHUD** sınıfı, genellikle hata ayıklama (debugging) işlemleri için kullanılabilir. Özellikle, UI öğelerinin dinamik olarak ekrana çizilmesi gerekiyorsa veya oyun içinde anlık değişiklikler yapmak isteniyorsa, bu sınıf kullanışlı olabilir.
2. **UserWidget Yönetimi**:
   * **AHUD**, özellikle **UserWidget**'leri oluşturmak ve bunları ekranda yönetmek için kullanılabilir. Örneğin, bir widget'i göstermek veya gizlemek için bu sınıf aracılığıyla işlem yapılabilir. Ancak, çoğu durumda, **UMG** sistemi ve **UserWidget**'ler bu işlemleri daha kolay ve verimli hale getirdiği için **AHUD**'nin rolü sınırlıdır.
