Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
UObjectin Yapamadıkları
#1
Malum c++ veya blueprintte saf object sınıfında getworld veya gettimermanager gibi şeyler çalışmadığı için bir çok şey kısıtlanmış oluyor. Ama bazı uobjectten türemiş sınıflar bunları kullanabiliyor. Neleri dahil ediyorlarda kullanabiliyorlar?
Ara
Cevapla
#2
ben tam anlamadım soruyu açıkçası, örnek verip açıklar mısın?
Ara
Cevapla
#3
Şöyle anlatayım hocam, actor ve ondan türeyen sınıflarda UWorld nesnesine direkt referans olduğu için SpawnActor ve gettimermanager gibi şeylere erişebiliyorlar. Ama UObject bu yeteneklere sahip değil çünkü UWorld referansı yok. Ama UObject "Outer" gibi bir referansa sahip. Bunu kullanarak outerdan getworlde erişebildiğimiz bir durum yaratmam gerekiyor. Bunları yeni kavrıyorum. Örnek kod yaparsam buraya koyacağım.
Ara
Cevapla
#4
Yapmaya çalıştığın şey yanlış. O tarz fonksiyonlarda "Context object" istemesinin sebebi bu nesnenin bir dünya ya koyulmuş olması gerekliliği (UWorld). Yani UObject ler herşeyin base sınıfı. Bunun GameSettings  falan bile dahil yani. Dolayısı ile UObject bu işler için değil. Bir şeyin oyun içerisinde olması onun Actor sınıfından olduğu ile anlaşılır. Outer fonksiyonu da içinde bulunduğu objeye gidip oradan World a referans sağlıyor. 
  Yani durum şu o fonksiyonlar engine içerisinde değil oyun içerisinde çalışmak için tasarlanmışlar. Bunun içinde bir leveli UWorld u referans gösterebilmeleri gerekir. Bir UObject in Outer ı yani ona sahip olan dış class bir actor olup bir levelin içinde bulunuyor olabilir. Bu durumlarda GetWorld Outer objectin GetWorld ünü çağıracağından sistem çalışacaktır. Ancak eğer böyle bir durum yoksa çalışmayacaktır. 
Yanlız TimerManager ı UGameInstance tan da çağırabiliyorduk yanlış hatırlamıyorsam. 
Uzun lafın kısası UE dizaynının dışına çıkmaya çalışıyor olabilirsin. Sadece yöntem değiştirmen gerekiyor.
Ara
Cevapla
 


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi

Unreal Engine Türkiye

This forum is community driven and supported by voluntary community members. It has nothing to do with Epic Games.

Bu site sadece destek amaçlıdır. Epic Games ile bir ilgisi yoktur.