Cohorts
  • Discover
  • About Us
  • Blog
  • Patika.dev
  • Web3

Unity Junior Programmer

Unity'ye Giriş
Unity'yi İndir

Ünite 1-Giriş
3D Motorlarınızı çalıştırın
Ders Klasörü ve Yeni Proje Oluşturun
Assetleri içe aktarın ve Prototip 1'i açın
Aracınızı sahneye ekleyin
Bir engel ekleyin ve yeniden konumlandırın
Kameranızı bulun ve oyunu çalıştırın
Kamerayı aracın arkasına taşıyın
Arayüz düzenini özelleştirin
Ders Özeti

Giriş
İlk komut dosyanızı oluşturun ve uygulayın
Güncelleme yöntemine bir yorum ekleyin
Araca ileri bir hareket verin
İlerlemek için bir Vector3 kullanın
Aracın hızını özelleştirin
Nesnelere RigidBody bileşenleri ekleyin
Engelleri çoğaltın ve konumlandırın
Ders Özeti

Giriş
Aracınız için bir hız değişkeni ekleyin
Kamera için yeni bir script oluşturun
Kamera konumuna bir ofset ekleyin
Ofseti bir Vector3 değişkenine dönüştürün
LateUpdate ile Kamerayı Pürüzsüzleştirin
playmod’un renk tonunu düzenleyin
Ders Özeti

Sürücü Koltuğuna Geçin
Aracın sola/sağa hareket etmesine izin verin
Girdilerde temel sol/sağ hareketi
Araç hızının kontrolünü elinize alın
Aracı kaydırmak yerine döndürmek
Kodunuzu ve hiyerarşinizi temizleyin
Ders Özeti

Challenge 1 - Düzlem Programlama

Bonus Özellikler 1 - Çalışmanızı Paylaşın
Kolay: Engel piramitleri
Orta: Karşıdan gelen araçlar
Zor: Kamera değiştirici
Uzman: Yerel çok oyunculu

Project Design Document
Understand what a Personal Project
Review Design Doc examples
Complete your Project Concept V1
Complete your Project Timeline
Complete your MVP sketch
Ders Özeti

Üretim aşamalarını özetleyin
Başlık
Tasarım belgeleri ve proje planları
Projeleri yönetmek ve ilerlemeyi izlemek
Proje yönetiminizi ve izlemenizi destekleyecek araçları belirleyin
Yayınlamaya hazırlanıyor
Projenizi yayınlamak

Oyuncu Konumlandırma
Ünite 2 - Giriş
Prototip 2 için yeni bir Proje oluşturun
Oyuncuyu, Hayvanları ve Yiyecekleri Ekleyin
Kullanıcının yatay girişini alın
Oyuncuyu soldan sağa hareket ettirin
Oyuncuyu sahada tut
Kodunuzu ve değişkenlerinizi temizleyin
Ders Özeti

Yiyecek Uçuşu
Merminin ileriye doğru uçmasını sağlayın
Mermiyi hazır bir yapı haline getirin
Boşluk çubuğuna basmayı test edin
Boşluk çubuğuna basarak mermiyi başlatın
Hayvanları prefabrike yapın
Mermileri ekran dışında yok edin
Ekran dışındaki hayvanları yok edin
Ders Özeti

Rastgele Hayvan Kaçışması
Bir spawn (yumurtlama) yöneticisi oluşturun
S'ye basıldığında bir hayvan doğurun
Diziden rastgele hayvanlar üretin
Doğma yerini rastgele belirleyin
Kamera perspektifini (açısını) değiştirin(değiştirmek)
Ders Özeti

Çarpışma Kararları
Hayvanları yumurtlatmak için yeni bir yöntem yapın
Hayvanları belirli aralıklarla yumurtlatın
Çarpıştırıcı ekleyin ve bileşenleri tetikleyin
Çarpışma anında nesneleri yok edin
Bir "Oyun Bitti" mesajını tetikleyin
Ders Özeti

Challenge 2 - Fetch Oyunu
Daha Fazla Challenge

Bonus Features 2 Genel Bakış
Kolay: Dikey oyuncu hareketi
Orta: Agresif hayvanlar
Zor: Oyun kullanıcı arayüzü
Uzman: Hayvan açlığı çubuğu
İpuçları ve çözüm önerileri

Primitive’lerle Yeni Proje
Yeni bir Proje oluşturun ve sahnenizi yeniden adlandırın
Bir arkaplan düzlemi oluşturun
Yeni bir malzeme ile primitive bir Oyuncu oluşturun
Proje türüne göre kamerayı konumlandırın
Düşmanlar, engeller, atılan cisimler ve malzemeler
nity Package yedekleme dosyasını dışa aktarın
Ders Özeti

Lab 3 Oyuncu Kontrolü
1 PlayerController oluşturun ve kodunuzu planlayın
Kullanıcı girdisinden temel hareket
Oyuncunun hareketini sınırlayın
Kod Temizleme ve Yedeklemeyi Dışa Aktarma
Ders Özeti

Ses ve Efektler Giriş
Zıplama Kuvveti Giriş
Prototipi aç ve arka planı değiştir
Bir oyuncu karakteri seçin ve ayarlayın
Oyuncunun başlangıçta zıplamasını sağlayın
Boşluk çubuğuna basıldığında oyuncunun zıplamasını sağlayın
Atlama kuvvetini ve yerçekimini değiştirin
Oyuncunun çift zıplamasını engelle
Bir engel yapın ve sola hareket ettirin
Bir Spawn Manager oluşturun
Aralıklarla engeller ortaya çıkarın
Ders Özeti

Dünyayı Hızlandırın
Arka planı tekrarlamak için bir komut dosyası oluşturun
Arka planın konumunu sıfırlayın
Collider ile arka plan tekrarını düzeltin
Trigger üzerinden yeni bir oyun ekleyin
gameOver'da MoveLeft'i durdurun
gameOver'da engellerin oluşmasını durdurun
Sınırlardan çıkan engelleri yok edin
Ders Özeti

Orada Öylece Durma
Oyuncunun animasyonlarını keşfedin
Oyuncunun başlangıçta koşmasını sağlayın
Bir atlama animasyonu ayarlayın
Atlama animasyonunu ayarlayın
Düşme animasyonunu ayarlayın
Oyuncunun baygın iken zıplamasını engelleyin
Ders Özeti

Parçacıklar ve Ses Efektleri
Bir patlama parçacığını özelleştirin
Parçacığı çarpışmada oynatın
Kir sıçratma parçacığı ekleyin
Kamera nesnesine müzik ekleyin
Ses Klipleri için değişkenleri bildirin
Zıplayınca Ve Çarpınca Ses Klibi Çalma
Ders Özeti

Genel Bakış
Uyarı

Bonus Özellikler 3 Genel Bakış
Kolay: Engelleri rastgele düzenleyin
Orta: Çift atlama
Zor: Atılma yeteneği ve puanı
Uzman: Oyun başlatma animasyonu
İpuçları ve çözüm yolu

Game Play Griş
Nereye Gittiğinizi İzleyin - Giriş
Proje oluştur ve sahneyi aç
Oynatıcıyı kurun ve bir doku ekleyin
Kamera için bir odak noktası oluşturun
Kullanıcı girişi ile odak noktasını döndürün
Oyuncuya ileri kuvvet ekleyin
Odak noktası yönünde hareket et
Ders Özeti

Oyuncuyu Takip Etmek Giriş
Bir Düşman ve Bir Fizik Materyali Ekleme
Oyuncuyu Takip Etmek İçin Düşman Komut Dosyası Oluşturma
Bir lookDirection Değişkeni Oluşturma
Düşman İçin Bir Doğma Yöneticisi (Spawn Manager) Oluşturma
Rastgele Doğma Noktası Oluşturma
return methodunu Bir Doğma Noktası Yapma
Ders Özeti

PowerUp ve CountDown
Bir PowerUp seçin ve hazırlayın
Çarpışmada PowerUp’ı yok edin
Düşmanı ve PowerUp’ı test edin
PowerUp ile ekstra geri tepme uygulayın
PowerUp için CountDown Rutini Oluşturunp
Bir güç açma göstergesi ekleyin
Ders Özeti

Düşman Dalgaları İçin For-Döngüleri
3 düşman oluşturmak için bir for döngüsü yazın
For-döngüsüne bir parametre verin
Düşmanlar eğer düşerlerse onları yok edin
Düşman sayısını (enemyCount) dalgalarla artırın
Yeni dalgalarla birlikte Powerups oluşturun
Ders Özeti

Genel Bakış
Uyarı

Bonus Özellikler 4 Genel Bakış
Kolay: Daha zorlu düşman
Orta: Güdümlü roketler
Zor: Sert saldır
Uzman: Boss savaşı

Temel Oynanış
Objelere temel hareket ver
Objeleri ekran dışında yok et
Obje çarpışmalarını işle
Objeleri prefab’lara dönüştür
SpawnManager'ın Prefabs oluşturmasını sağla
Ders Özeti

Kullanıcı Arayüzü Giriş
Tıklayıcı Fare - Giriş
Proje oluşturun ve 2B görünüme geçin
Good (İyi) ve Bad (Kötü) hedefleri oluşturun
Nesneleri rastgele havaya fırlatın
Dağınık kodu yeni metodlarla değiştirin
Game Manager içerisinde obje listesi oluşturun
Objelerin ortaya çıkması için bir coroutine oluşturun
Tıklama ve sensör yoluyla hedefleri yok edin
Ders Özeti

Skor Tutmak
Skor metni ekle ekranda konumlandırın
Puan Metninin özelliklerini düzenleyin
Puan metnini ve değişkeni başlat
Yeni bir UpdateScore yöntemi oluşturun
Hedefler yok edildiğinde puan ekleyin
Her hedefe bir puan değeri atayın
Parçacık patlaması ekleyin
Ders Özeti

Game Over Giriş
Game Over metin nesnesi oluşturun
GameOver metninin görünmesini sağla
GameOver fonksiyonu oluştur
Stop spawning and score on GameOver
Yeniden Başlat butonunu ekle
Yeniden başlatma butonunun çalışmasını sağlayın
Oyun bittiğinde yeniden başlat butonunu göster
Ders Özeti

Zorluk Nedir?
Başlık Metni ve Menü Butonları Oluşturma
Zorluk Seviyesi İçin DifficultyButton Scripti Ekleme
Butona Tıklandığında SetDifficulty Metodunu Çağırma
Yeni Butonlarınız ile Oyunu Başlatma
StartGame’de Başlık Ekranını Devre Dışı Bırakma
Zorluğu Değiştirmek İçin Parametre Atama
Ders Özeti

Genel Bakış
Uyarı

Bonus Özellikler 5 Genel Bakış
Kolay: Lives UI
Orta: Müzik sesi
Zor: Pause menüsü
Uzman: Tıkla-ve-kaydır

Assets kitaplığını içe aktarın ve göz atın
Oynatıcıyı yeni assetsla değiştirin
Assets mağazasına göz atın
Oyuncu olmayan tüm temel öğeleri değiştirin
Arka plan dokusunu değiştirin
Replace the background texture
Ders Özeti

Kullanıcı geri bildirimine ve testine giriş

Proje Optimizasyonu - Giriş
Değişken özellikleri
Unity Event Fonksiyonları
Object Pooling
Ders Özeti

Make the vehicle use forces
Prevent car from flipping over
Add a speedometer display
Add an RPM display
Prevent driving in mid-air
Lesson Recap
Sharing your Projects

ECS Hayatta Kalma Rehberi

Kariyer araştırması ve hazırlık

Portfolyolara Giriş

Junior Programmer: Sahne akışını ve verilerini yönetin
Başlık
Sürüm kontrolünü ayarla
Örnek projeyi keşfedin
Nesne yönelimli programlamanın ilkeleri
Bir sahne akışı oluşturun
Sahneler arasında veri kalıcılığı uygulayın
Oturumlar arasında veri kalıcılığı uygulayın

Gönderim: Yeni bir depoda veri kalıcılığı
7.5 Veri kalıcılığını uygulayın

Nesne yönelimli programlamada soyutlama

Nesne yönelimli programlamada kalıtım ve polimorfizm

Nesne yönelimli programlamada kapsülleme

Sorunları belirlemek için profil kodu

Job preparation: Junior Programmer

Sunum: Programlama teorisi iş başında

Nesne yönelimli programlamanın prensipleri

Bu eğitimde, nesne yönelimli programlamanın paradigmalarını ve onun dört ilişkili prensiplerini öğreneceksiniz.

Bu eğitimin sonunda,:

  • Encapsulation tanımlama
  • Inheritance tanımlama
  • Polymorphism tanımlama
  • Abstraction tanımlama
  • OOP’nin temelleri nasıl birlikte organize ve etkili kod oluşturabileceği hakkında açıklama

yapabileceksiniz.

Adım 1: Genel Bakış

Programlama konusunda daha fazla pratik kazandıkça, sonunda kodun daha etkili bir şekilde yazılabileceğinden şüphelendiğiniz durumları belirlemeye başlayacaksınız. Belki de bir projeye daha fazla script eklerken kendinizi kod satırlarını kopyalayıp yapıştırırken veya değişkenler üzerindeki koruma düzeylerini birden çok kez değiştirirken buldunuz. Spesifik durumdan bağımsız olarak, bu gözlemler daha iyi bir programcı olmanın önemli bir parçasıdır. — saf kod işlevselliğinin ötesinde düşünüyorsunuz ve kodunuzun kullanılabilirliğini düşünüyorsunuz.

Kodun kullanılabilirliğini iyileştirmenin birçok yolu vardır ve hatta en iyi yaklaşım hakkında birçok farklı görüş vardır! Bu, yeni programcılar için çok zor olabilir.Deneyim kazanmanın en iyi yolu, bu yaklaşımları kendiniz denemektir. Başlamanıza yardımcı olmak için size en popüler programlama paradigmalarından (veya kalıplarından) birini göstereceğiz: nesne yönelimli programlama.

Adım 2 - Nesne yönelimli programlama nedir?

Nesne yönelimli programlama (OOP), birbiriyle ilişkili yöntemlerin ve değişkenlerin, bir nesne (OOP'de “nesne”) olarak adlandırılan şeyi oluşturmak için birlikte gruplandırıldığı bir programlama modelidir.

figures

Alt text: Bir nesne için basit bir kod: değişkenlerden ve metodlardan oluşan public Rabbit sınıfı

Veriyi nesneler içerisinde organize tutmanın bir çok avantajı var. Kodun neyi başarmaya çalıştığını anlamak için kodu daha anlaşılır kılar. Yukarıdaki örnekte, Rabbit nesnemizin fiziksel görünümünü tanımlayan birkaç değişkeni ve nasıl hareket edebileceğini tanımlayan bir yöntemi olduğunu görebiliriz. Burrow adında ayrı bir sınıf açıp havuç yemek ve burun kıvırmak için Tavşanla ilgili bir dizi metod keşfettiyseniz kafa karıştırıcı olurdu.

Nesneler ayrıca kodunuzun erişilebilirliğini kontrol etmenizi sağlar, bu da projelerinizi oluştururken bir başkasının (hatta kendinizin!) yanlışlıkla kodunuzu bozma olasılığını azaltacağınız anlamına gelir. Ayrıca, kodunuzun farklı bölümlerini daha kolay yeniden kullanabilecek ve başka bir amaca uygun hale getirmek için kullanabileceksiniz.

Her projenin üzerinde çalışan en az iki programcı olduğunu unutmayın: siz ve bundan altı ay sonra, yaptığınız şeyi nasıl veya neden yaptığınızı hatırlamayacağınız zaman. Nesne yönelimli programlama, kodunuzu daha okunaklı hale getirecek ve kendi iyiliğiniz için ve projeniz üzerinde çalışabilecek diğer programcılar için bozulmasını zorlaştıracaktır.

Genellikle OOP'nin sütunları olarak adlandırılan nesne yönelimli programlamanın dört ana ilkesi vardır. Onlar: abstraction, encapsulation, inheritance ve polymorphism. Nesne yönelimli programlamayı başarılı bir şekilde kullanmak için sadece bu dört prensibi öğrenmeli ve uygulamalısınız! Bu sütunların her birini daha sonra ayrıntılı olarak öğreneceğiz, ancak şimdilik bunları yüksek düzeyde gözden geçirelim.

Adım 3: Dört Sütun

figures

Alt metin: Abstraction, Encapsulation, Inheritance ve Polymorphism ile soldan sağa etiketlenmiş, arka arkaya dört sütunun görüntüsü

Abstraction, diğer programcıların göreceği karmaşık kodu scriptlerden kaldırma ve yalnızca diğer programcıların gerçekten ihtiyaç duyduğu işlevselliği ortaya çıkarma işlemidir. Ayrıntıları "abstract yaptığınızda", yinelenen kodu azaltır ve en kullanışlı metodlara kolay erişim sağlarsınız. Abstraction’ın amacı, kodunuzu olabildiğince temiz ve diğer programcıların (veya kendinizin!) kullanması için basit tutmaktır. Yukarıdaki Rabbit örneğimizde, Hop metodu abstraction için harika bir örnek olacaktır. Hop metodu olmadan, bir programcı Rabbit’in hareket etmesini isterse, RigidBody'sine erişecek ve hızını, sıçrama yüksekliğini vb. ayarlayacak bir kod yazması gerekirdi. Hop yöntemiyle, tüm bu yönler abstract hale getirilerek programcının Tavşan'ın nasıl zıplaması gerektiğine değil ne zaman zıplaması gerektiğine odaklanmasına izin verir.

Encapsulation, abstraction’a benzer, çünkü kapsayıcı amacı programcıyı kod karmaşıklığından ayırmaktır, ancak burada odak noktası daha çok erişebilirlik biçimindeki kod güvenliğidir. Encapsulation, size diğer programcılar için kodlama araçları sağlar ve yalnızca sizin değişkenlerinizi ve yöntemlerinizi amaçlandığı şekilde kullanmalarını sağlar. Encapsulated kodda, diğer programcılar değişkenlerin değerlerini veya nesnelerin özelliklerini kolayca değiştiremezler. Diğer scriptlerin kodunuza erişebileceği tüm farklı yolları hesaba katmak imkansızdır, bu nedenle yalnızca amaçlandığı gibi çalışabilmesi için oluşturduğunuz şeyi encapsulate etmek çok daha iyidir. Örneğin, Rabbit’in kulak tipi duyma kabiliyetini etkilediğini varsayalım. Bir kere bu değer atandıktan sonra değiştirilmemeli. Değerin korunduğundan emin olmak için onu private olarak ayarlasınız ki diğer scriptlerin erişmesini engellersiniz.

Inheritance, alt sınıflar olarak adlandırılan diğer sınıfların oluşturulabileceği bir ana sınıf oluşturma işlemidir. Alt sınıf, ana sınıfın veya üst sınıfın tüm özelliklerini otomatik olarak alabilir. Bu, iki sınıfın da kullanması gereken kodların tekrar yazılmasını azaltır. Örnek olarak, Bunny isminde yeni bir sınıf oluşturmak istediğimizi düşünelim. Rabbit sınıfı gibi sabit veya sarkık kulakları var, özel bir rengi olan kürkü var ve sıçrayabiliyor. Inheritance olmadan, gerçekten de daha önce yazdığınız tüm kodları kopyalayıp yeni sınıfa yapıştırmak zorundasınız. Inheritance ile sadece Rabbit sınıfına genişletmelisiniz, var olan fonksiyonalite Bunny sınıfı tarafından erişilebilir olur. Bunny sınıfı, Bunny özelinde Bunny yemeği yemek gibi özellikler geliştirebilir.

Polymorphism, inheritance kullanmanın en kullanışlı yönlerinden biridir. Üst sınıftan miras alınan koda alternatif fonksiyonalite oluşturmanıza izin verir. Örnek olarak, Bunny alt sınıfımız evcil bir Rabbit’i temsil eder. Rabbit’in yapabildiği kadar sıçrayabilir ama Bunny, vahşi atasından biraz daha yavaş olmalıdır. Polymorphism ile Hop metodunun içeriğini geçersiz kılabilir ve Bunny için eşsiz olan özel kodları yazabilirsiniz. Metod çağrısı yine aynı olacaktır ancak çağrıldığı varlığa göre doğru kod çalışacaktır.

Adım 4 - Görevlerdeki nesne yönelimli programlama

Bazı şeylerin tanıdık geldiğini düşünüyorsanız, haklısınız! Bu süreçte kodunuza OOP prensiplerini uygulamış olmalısnız. Bu görevin geri kalan kısmında çalışırken, projeniz için yeni işlevler yazarken hangi sütunu uygulayabileceğinizi düşünmeye çalışın. Bir sonraki görevde, kodunuzu yinelemenin ve iyileştirmenin yollarını ararken her bir sütunu derinlemesine inceleyeceğiz.

Adım 5 - Sıradaki adımlar

Nesne yönelimli programlama var olan tek programlama paradigması olmadığını belirtmek gerek. Uygulama oluşturmak için birçok yaklaşım var ve Unity’de yaptığınız her şey için nesne yönelimli programlama kullanmayacaksınız. Nesne yönelimli programlama ve aslında tüm programlama kalıpları yalnızca alet çantanızdaki birer alettirler, bazıları bir şeyi diğerinden daha iyi yapsa da, gerçek anlamda üstün bir paradigma yoktur. Karşılaştığınız zorluk için en uygun aracı seçmeyi hiçbir zaman unutmayın Bununla birlikte, nesne yönelimli programlama iyi yapılandırılmıştır ve yeni programcılar için harika bir araçtır. Sonraki görevlerde ilerledikçe, bu temel kavramlar hakkındaki bilginizi arttıracaksınız.

Bir sonraki eğitimde, projeye başlama zamanı! Kullanıcının iki sahne arasında hareket edebilmesi ve uygulamadan çıkabilmesi için sahne akışını uygulayacak ve düğmeleri yapılandıracaksınız.

Previous
Next

Lesson discussion

Swap insights and ask questions about “Unity Junior Programmer”.

Enroll to participate
Start the course to unlock the discussion. Enrolling helps us keep conversations relevant to learners.
Cohorts
WebsiteDiscoverBlogPatika.devRise In
CoursesCircleRustSoliditySolanaWeb3 FundamentalsBlockchain Basics
CompanyAbout UsTerms of UsePrivacy PolicyGDPR NoticeCookies
Don't miss any update!

Disclaimer: The information, programs, and events provided on https://cohorts.patika.dev is strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice, nor do we make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://cohorts.patika.dev disclaims any responsibility for financial decisions made by users based on the information provided here.

© 2026 Cohorts, All rights reserved