Menu

Unity3D ve C#

Bir Oyun Gelistiricinin Not Defteri

Linkedin

FP vs. OO

Robert C. Martin’in Functional Programming mi, Object Oriented Programming mi sorusuna iyimser ve birleştirici bir yaklaşım sunduğu bu makalesini tavsiye ediyorum. Ben yalnızca okurken altını çizdiğim yerleri sizinle paylaşacağım.

(more…)

Oyunlarda Arkadan Bıçaklama (Backstabbing)

NpcA’nın NpcB’yi sırtından bıçaklamak için arkadan yanaştığı ve NpcB’nin bu durumu fark etmediği senaryoyu en basit haliyle gerçekleyelim.

(more…)

Nedir Bu Yazılım Tasarımı?

Hepimiz olabildiğince esnek, olabildiğince yeniden kullanılabilir ve olabildiğince iyi tasarlanmış kodlar yazmak istiyoruz. Zaten, iyi kodun tanımı da bu değil mi? Peki nedir bu yazılım tasarımı? Bu sorunun cevabını ararken, beni iyi yönde etkileyen, ufkumu açan bir makale buldum;”Jack W. Reeves : What is Software Design“.

(more…)

Nullable

Item nesnelerini tuttuğunuz bir liste düşünün. Item nesnelerinizde de string name ve int price değişkenleri tanımlı. Fiyatı belli olmayan Item’larınızın price değişkenlerine ne atardınız? Bu price değerinin atanmış olup olmadığını daha sonra nasıl kontrol ederdiniz?

(more…)

Bir Nesnenin Varsayılan Animasyon Klibini Oynatma

Senaryo: Üzerinde Animation komponenti bulunduran bir nesnenin varsayılan animasyonunun önce ileri yönde, ileri yönde oynatılma bittikten sonra da geriye doğru oynatalım.

(more…)

String Değer-Tipinde mi Referans-Tipinde midir?

C# bildiğinizi iddia ederek gideceğiniz herhangi bir iş görüşmesinde, bu soruyla karşılaşabilirsiniz. C#’ta stringler referans tipli mi, yoksa değer tipli midir?

(more…)

GameObject.CompareTag()

Yakaladığımız bir collision’ın hangi obje olduğunu anlamak için onun tag’ine bakarız. Tag karşılaştırırken izlenen yanlış bir yol garbage oluşturacaktır. Bu yazımda Unity’de garbage oluşturmadan tag karşılaştırma konusuna değineceğim.
(more…)

EventTrigger PointerDown

Senaryo şöyle; bir butonun üzerine tıklandığında, yani pointer down olduğunda içine 2 int yollanan fonksiyonumuz tetiklensin.

Unity UI 4.6’da bir butonun, yalnızca OnClick event’ına erişebilmekteyiz. Ayrıca buraya Unity Editör’den manuel olarak ekleyebileceğimiz fonksiyonların içine birden fazla değişken yollayamıyor olmamız da baş ağrıtan bir diğer durum. Peki bahsi geçen senaryoyu gerçekleyebilmek için ne yapacağız?
(more…)

Enum’ı Generic Olarak Kullanmak

C#’ta normal şartlar altında bir generic tipi enum olarak belirtmek istersek şunu kullanmamız gerekirdi. Ne yazık ki enum için bu işe yaramıyor. Bunun sebebiyse, enum’ın özel bir tip olarak davranması ve Microsoft’un bunu henüz implemente etmemesi.

(more…)

AudioSource.PlayClipAtPoint: Perde Arkasında Neler Oluyor?

Küçük aralıklarla, küçük sesleri çalmak için kullanılan bir metod; “AudioSource.PlayClipAtPoint(Audio, Position)”.

Gelin perde arkasını inceleyelim.

(more…)