Örnek sorular
Un Gameobject Component TransformZorluk 1
Unity'de bir GameObject'in davranışını ve yeteneklerini ne belirler?
- aGameObject'in Hierarchy penceresindeki adı
- bGameObject'e eklenmiş component'ler✓
- cGameObject'in dünya uzayındaki konumu
- dGameObject'in kaydedildiği sahne dosyası
Açıklama:GameObject tek başına sadece bir kaptır; davranışı ve yetenekleri tamamen üzerine eklenen Transform, script, collider veya renderer gibi component'lerden gelir.
Un Gameobject Component TransformZorluk 1
Unity'de bir GameObject'ten asla kaldırılamayan component hangisidir?
- aTransform✓
- bRigidbody
- cCollider
- dAudioSource
Açıklama:Her GameObject varsayılan olarak bir Transform'a sahiptir ve Unity bunun kaldırılmasına izin vermez; çünkü sahnedeki her nesnenin bir konumu, rotasyonu ve ölçeği olmalıdır.
Un Gameobject Component TransformZorluk 2
Bir script'in class tanımının üzerinde [RequireComponent(typeof(Rigidbody))] var. Bu script, Rigidbody'si olmayan bir GameObject'e eklendiğinde ne olur?
- aUnity script'i eklemeyi reddeder ve bir derleme hatası gösterir
- bScript eklenir ama Rigidbody'ye bağlı kodu sessizce yok sayar
- cUnity aynı GameObject'e otomatik olarak bir Rigidbody component'i ekler✓
- dScript eklenir ve her karede Console'da bir uyarı oluşturur
Açıklama:RequireComponent, script AddComponent ile eklendiğinde eksik bağımlılığı Unity'nin otomatik eklemesini sağlar; bu yüzden script ile birlikte bir Rigidbody de eklenir.
Un Gameobject Component TransformZorluk 2
Aşağıdaki component tiplerinden hangisinden bir GameObject aynı anda birden fazla örnek barındırabilir?
- aTransform
- bRigidbody
- cMeshFilter
- dAudioSource✓
Açıklama:Unity, örneğin birden fazla sesi bağımsız çalmak için aynı GameObject'e birden fazla AudioSource component'i eklenmesine izin verir; Transform, Rigidbody ve MeshFilter GameObject başına tek örnekle sınırlıdır.
Un Gameobject Component TransformZorluk 1
C#'ta, GameObject'te Rigidbody yokken GetComponent<Rigidbody>() ne döndürür?
- aHemen bir NullReferenceException fırlatır
- bnull döndürür; hata fırlatmaz, ebeveyni de aramaz✓
- cKütlesi sıfır olan varsayılan bir Rigidbody döndürür
- dEbeveyn GameObject'in Rigidbody'sini döndürür
Açıklama:GameObject'te eşleşen bir component yoksa GetComponent<T>() null döndürür; hata fırlatmaz, ebeveynlerde arama yapmaz ve varsayılan bir örnek oluşturmaz.
Un Gameobject Component TransformZorluk 2
Bir Rigidbody'yi güvenli şekilde almak için TryGetComponent doğru şekilde nasıl kullanılır?
- a
if (TryGetComponent<Rigidbody>(out var rb)) { ... }✓ - b
Rigidbody rb = TryGetComponent<Rigidbody>(); - c
if (TryGetComponent(Rigidbody) == true) { ... } - d
var rb = TryGetComponent<Rigidbody>().Value;
Açıklama:TryGetComponent başarı durumunu bir bool olarak döndürür ve component'i bir out parametresiyle verir; bu yüzden out var argümanlı bir if içinde kullanılır.