Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir eğitmen tarafından sunulan Godot oyun motoru eğitim serisidir. Eğitmen, hem 2D hem 3D oyunlar geliştirebileceğiniz ücretsiz Godot programını adım adım anlatmaktadır.
- Eğitim serisi, Godot'ta temel programlama kavramlarını kapsamlı şekilde ele almaktadır. Video, yeni bir proje oluşturma, temel kodlama kavramları, değişkenler, sabitler, string işlemleri, matematiksel işlemler, karşılaştırma operatörleri, fonksiyonlar ve kullanıcı arayüzü bileşenleri gibi konuları içermektedir. Eğitim serisi, Mario türü platform oyunları, Slappy Bird benzeri oyunlar, login sistemi ve RPG oyunları gibi çeşitli proje örnekleri üzerinden ilerlemektedir.
- Eğitim serisi, sıfırdan başlayarak oyun geliştirme sürecini öğrenmek isteyenler için hazırlanmıştır. Eğitmen, Python'a benzer kodlama dilini kullanarak konuları basit ve anlaşılır bir dille anlatmakta ve her konuyu kod örnekleriyle desteklemektedir. Ayrıca, değişkenlerin ve fonksiyonların oyun geliştirme sürecindeki önemi vurgulanmakta, kod tekrarını önlemek için fonksiyonların kullanımı gibi pratik bilgiler sunulmaktadır.
- 00:02Godot Oyun Programı Tanıtımı
- Godot, hem 2D hem 3D oyunlar yapabileceğimiz, ücretsiz bir oyun geliştirme programıdır.
- Godot, Python'a çok benzer bir kodlama dili kullanır ve okulda öğretilen kodlama dillerine benzer.
- Bu eğitimde Mario türü oyunlar, Slappy Bird benzeri oyunlar, login sistemi, paint sistemi, RPG oyunları ve eşya bulma oyunları yapmayı hedefliyoruz.
- 01:39Godot Projesi Oluşturma
- Godot'ta yeni bir proje oluşturmak için "New Project" seçeneğini kullanarak bir klasör adı ve konum belirlemeliyiz.
- 3D veya 2D seçeneği verilir, orta kalitede bir bilgisayarınız varsa 3D seçeneğini seçebilirsiniz.
- Eğitimde kodlardan başlayacağız çünkü arayüzü önce anlatmak kodlamayı karışık gösterebilir ve izleyicilerin ilgisini kaybetmesine neden olabilir.
- 03:40Godot'da Kodlama Temelleri
- Godot'da "pass" ifadesi, bir fonksiyonun içini boş bırakırken hata vermemesi için kullanılır.
- "print" fonksiyonu, ekrana metin yazdırmak için kullanılır ve metinsel değerler tırnak içinde yazılır.
- Kodlamada boşluk karakteri bir koddur, bu nedenle iki metinsel değeri yan yana yazdırmak için "+" işareti veya virgülle ayırarak boşluk eklemek gerekir.
- 09:26Godot'da Print Fonksiyonu ve Değerler
- Print fonksiyonu metinsel değerleri yazdırmak için kullanılır ve metinsel değerler arasında boşluk bırakılarak ayrı yazdırılabilir.
- Sayısal değerler de print fonksiyonu ile yazdırılabilir ve sayısal değerlerde toplama, çıkarma, çarpma, bölme gibi işlemler yapılabilir.
- Metinsel değerlerde "+" işareti yan yana yazmayı sağlarken, sayısal değerlerde toplama işlemi yapar.
- 10:44Sayısal ve Metinsel Değerlerin Farkları
- Sayısal değerler toplanırken sonuç olarak sayısal değer verirken, metinsel değerler toplanırken yan yana yazılır.
- Tırnak içinde yazılan sayılar bile metinsel değer olarak algılanır ve yan yana yazılır.
- Print fonksiyonu, değerler arasında otomatik boşluk bırakabilir veya "print" fonksiyonu kullanılarak değerler arasına boşluk eklenebilir.
- 15:04Aritmetik Operatörler
- Godot'da aritmetik operatörler arasında toplama (+), çıkarma (-), çarpma (*), bölme (/) gibi klasik operatörler bulunur.
- Godot'ta tam sayılar bölündüğünde sonuç genellikle tam sayı olarak döner, küsüratlı sonuç istenirse sayılar virgüllü yazılmalıdır.
- "Pow" fonksiyonu kullanılarak üs alma işlemi yapılabilir, örneğin pow(2,3) ifadesi 2 üzeri 3 (yani 8) sonucunu verir.
- 20:41Matematiksel İşlemler ve Sıralama
- "Squid word" ifadesi içindeki sayının karekökünü alır, örneğin "print scurt yirmibeş" komutu 25'in karekökünü (5) hesaplar.
- Matematikte işlem sırası önemlidir: önce bölme, sonra çarpma, sonra çıkarma ve en son toplama yapılır.
- Kodlama dilinde "squidward" ve "pow" gibi özel ifadeler kullanılır ve önce bu ifadeler uygulanır, sonra matematiksel işlemler sırasına göre yapılır.
- 22:57Yorum Satırları
- Godot'ta yorum satırları için slash slash yerine sağ tarafta alt ve üç e tuşlarına basarak yapılır.
- Yorumlar kodları hatırlamak, eğitim vermek ve geçici olarak kodları devre dışı bırakmak için kullanılır.
- Ctrl+K tuş kombinasyonu ile seçilen kodlar yorum satırına dönüştürülür ve kodlar silinmiş gibi görünür.
- 26:38Değişkenler
- Değişkenler (variables), sürekli değişme ihtimali olan değerleri temsil eden ifadelerdir.
- Değişkenler RAM bölümünde depolanır ve sayısal değerlerden (örneğin araba hızı) veya metinsel değerlerden (örneğin oyuncunun adı) oluşabilir.
- Değişkenlerin isimleri sayı ile başlamaz, sadece alt tire ile başlayabilir ve büyük-küçük harf duyarlılığı vardır.
- 30:30Normal Variable Kavramı
- Normal variable, fonksiyonun dışına yazılan ve farklı fonksiyonlarda kullanılabilen değişkenlerdir.
- Fonksiyon içinde yazılan değişkenler sadece o fonksiyon içinde kullanılabilmektedir.
- Normal variable'ı kullanırken başına mutlaka "var" yazmak gerekir.
- 31:36Variable Örneği
- "var isim = ahmet" şeklinde bir variable oluşturulduğunda, "isim" değişkeni "ahmet" değerini alır.
- "print(isim)" komutu ile değişkenin değerini ekrana yazdırabiliriz.
- Variable'lar tırnak içinde yazılmaz, aksi takdirde metinsel değer olarak algılanır.
- 33:15Farklı Türde Variable'lar
- Variable'lar metinsel değer (string) olarak yazılabilir.
- Variable'lar sayısal değer (integer) olarak da yazılabilir.
- Boolean değer olarak da variable oluşturulabilir (true veya false).
- 35:43Variable Değerlerinin Değiştirilmesi
- Variable'ların değerleri değiştirilebilir, örneğin "isim = mahmut" şeklinde değeri değiştirilebilir.
- Kodlar yukarıdan aşağıya doğru çalışır ve bir defa gerçekleşir.
- Variable'ların değerleri değiştirildiğinde, değişiklikler oyun başladığında etkili olur.
- 38:00Float ve Tür Belirleme
- Variable'lar küsürlü değer (float) alabilir.
- Variable'ın yanına iki nokta koyarak türü belirlenebilir (örneğin: var yaş:int).
- Tür belirleme yapılırsa, variable sadece belirlenen türde değer alabilir.
- 40:50Konstans (Sabit) Değişkenler
- Konstans, değişmeyen sabit değerlerdir.
- Konstanslar "const" anahtar kelimesiyle tanımlanır.
- Konstansların değerleri değiştirilemez, variable'lar ise değiştirilebilir.
- 41:25Sabit Değerler (Constant)
- Sabit değerler (constant) değişmez değerlerdir, değişmeye çalışırsanız kırmızı hata alırsınız.
- Sabit değerler, değişmesini istemediğiniz ama programın her yerinde aynı değerle kullanılmasını istediğiniz durumlarda kullanılır.
- Sabit değerler, değişkenlerden farklı olarak daha az yer kaplar ve RAM'i zorlamaz.
- 43:24Sabit Değerlerin Kullanımı
- Sabit değerler, değişmez değerler için kullanılır ve değişmez değerlerin tek bir yerde değiştirilmesi programın tüm yerlerinde etkili olur.
- Sabit değerler sadece sayısal değil, metinsel değerler de olabilir.
- Sabit değerlerin değiştirilmesi mümkün değildir, sadece ilk tanımlandığı yerde değiştirilebilir.
- 45:26String Metodları
- Godot eğitiminin altıncı videosunda string metotları (upper, lower, capital) öğrenilecektir.
- String uzunluğu (eleman sayısı) öğrenmek için nokta koyup "length" metodunu kullanabilirsiniz.
- "to_upper" metodu stringi tamamen büyük harfe, "to_lower" metodu tamamen küçük harfe çevirir.
- 49:42Capital Metodu
- "capitalize" metodu, stringin her kelimesinin baş harfini büyük yapar.
- "capitalize" metodu, aralarda büyük harf varsa o harfleri küçük harfe çevirir.
- "capitalize" metodu, her kelimenin başına büyük harf koyarak başlık gibi bir görünüm sağlar.
- 53:20Kod Eğitimi - Trim Prefix ve Trim Suffix
- Kod eğitiminin yedinci bölümünde trim prefix, trim suffix, asterix ve obelix konuları ele alınacak.
- Trim prefix baştan keser, trim suffix ise sondan keser.
- Trim prefix örneğinde "trim prefix('Ahmet Mahmut Kral', 'Ahm')" kodu kullanıldığında "et Mahmut Kral" sonucu elde edilir.
- 55:36Variable Değiştirmeye Giriş
- Kod eğitiminin sekizinci bölümünde oyuncuya variable değiştirmeye giriş yapılacak.
- "var isim" yazarak bir variable açılır ve türü iki nokta koyarak belirlenebilir.
- Variable'ın içi her zaman dolu olmak zorunda değildir, boş bir variable hazırlayabiliriz.
- 57:06Kontrol ve Objeler
- Kullanıcı arayüzü açıldığında "kontrol" adında bir obje verilir.
- Kontrolün altına buton veya yazı alanı eklenebilir ve bunların hepsi kontrole bağlı olur.
- Objeler ağaç yöntemiyle düzenlenir; en üstteki babalar, alttaki onların çocukları olur.
- 58:47Line Edit ve Button Ekleme
- Line edit ekleyerek oyuncuya yazı yazabileceği kutular oluşturulabilir.
- Button ekleyerek basılabilir düğmeler eklenebilir.
- Button'a basılma efekti verilerek basıldığında düğmenin rengi değişir.
- 1:03:40Buton Düğümü ve Fonksiyon Kullanımı
- Buton düğümü tıklanabilir bir düğüm olup, basma fonksiyonu sağdaki sinyalden kodlanabilir.
- Butona basıldığında bir şey yapmak için "On Button Press" fonksiyonu açılır.
- Buton düğümünde "On Press" sinyali bulunur ve bu sinyale fonksiyon bağlanır.
- 1:06:04Line Edit Denetçisi Kullanımı
- Line Edit denetçisindeki text bölümüne erişmek için dolar işareti kullanılır ve ardından nokta ile text özelliği çağrılır.
- Butona basıldığında Line Edit'teki yazılan metin ekrana yazdırılır.
- Butona basıldığında Line Edit'teki metin temizlenebilir.
- 1:13:15İki Değişken Arasına Bir Değişken Yerleştirme
- İki yazı arasına bir değişken yerleştirmek için print fonksiyonunda değişken kullanılır.
- Örneğin "print('Merhaba ' + isim + ' memnun oldum')" şeklinde yazılabilir.
- Alternatif olarak "%s" format belirteci kullanılarak da değişken yerleştirilebilir.
- 1:16:40Variable Kavramının Önemi
- Variable'ın mantığını anlarsanız, Unity, RPG Maker ve Slime Builder gibi platformlarda çok fazla şeyi yapabilirsiniz.
- Kodlamada her şey genellikle variable'lar ve fonksiyonlar üzerinden yapılır.
- Variable'ı anladığınızda, arayüz kodlamanın mantığını anlamak daha kolay hale gelir.
- 1:18:00Godot Eğitimine Devam
- Godot eğitiminin onuncu bölümünde, yazılan kodları sahnede gösterme konusu ele alınacak.
- Yeni bir düğüm (çocuk) eklemek için "çocuk ekle" bölümü kullanılır.
- Text düğümü ekleyerek sahnede görsel olarak bir metin alanı oluşturabilirsiniz.
- 1:19:54Dolar İşareti ve Text Düğümü
- Dolar işareti ile text düğümüne erişim sağlanabilir.
- Butona basıldığında, text düğümünün text bölümüne yazılan değer ekranda görüntülenir.
- Dolar işareti, çocuk düğümlerine bağlantı kurmak için kullanılır ve bu bağlantılar önemli bir kavramdır.
- 1:22:31Kodlama Örneği
- "Merhaba, isim: memnun oldum" ifadesini kodlamak için dolar işareti kullanılır.
- Text düğümünün text özelliğine erişmek için "$text_edit.text" şeklinde yazılır.
- Oyun başladığında bir defa gerçekleşen fonksiyon kullanılarak, text düğümünün içeriği programatik olarak değiştirilebilir.
- 1:27:20Godot'un Onbirinci Bölümü - Round ve Sayı Türleri
- Godot'un onbirinci bölümünde round fonksiyonu anlatılacak ve bu süreçte integer (tam sayı) ve float (virgüllü sayı) türleri de ele alınacak.
- Integer, virgül içermezken float ise virgül içeren küsüratlı sayıları ifade eder.
- Bazı durumlarda integer'ı float'a veya float'ı integer'a çevirmek gerekebilir ve bunlar sonraki bölümde gösterilecek.
- 1:29:17Round Fonksiyonu
- Round fonksiyonu, 0.5'e kadar olan değerleri aşagı yuvarlayıp, 0.5'ten büyük olan değerleri yukarı yuvarlar.
- Örneğin, 5.9, 5.20 ve 5.30 değerleri 5'e yuvarlanırken, 5.50 ve 5.90 değerleri 6'ya yuvarlanır.
- Round fonksiyonu aynı zamanda float değerlerin integer'a dönüştürülmesinde de kullanılır.
- 1:31:56Godot'un Onikinci Bölümü - Değer Dönüşümleri
- Godot'un onikinci bölümünde tamsayıyı yazıya, yazıyı tamsayıya, float'ı tamsayıya ve tamsayıyı float'a dönüştürme işlemleri gösterilecek.
- Float değeri (örneğin 18.60) bir değişkene atanabilir ve print fonksiyonu ile ekrana yazdırılabilir.
- Text edit objeleri string (yazısal) değerler kabul eder, sayısal değerler verildiğinde hata verir.
- 1:36:35Değer Dönüşümleri Örnekleri
- Float değeri yazıya dönüştürmek için "str" fonksiyonu kullanılır.
- Float değeri tam sayıya dönüştürmek için "int" fonksiyonu kullanılır.
- Tam sayı değeri yazıya dönüştürmek için de "str" fonksiyonu kullanılır.
- 1:38:22Veri Türü Dönüşümleri
- Tam sayıları float (ondalıklı sayı) yapmak için sayıların yanına nokta koyarak ondalıklı sayıya dönüştürülür.
- Tam sayı bölme işleminde float kullanıldığında sonuç küsuratlı bir sayı verir, tam sayı bölme işleminde ise tam sayı verir.
- Metinsel değerleri sayısal değerlere dönüştürmek için "int" veya "float" fonksiyonları kullanılır.
- 1:43:17Karşılaştırma Operatörleri
- Tek eşittir (=) atama operatörüdür, iki eşittir (==) ise eşitlik kontrolü yapar.
- "True" ve "False" değerleri, bir ifadenin doğru (true) veya yanlış (false) olduğunu belirtir.
- "Ünlem eşittir" (!=) operatörü, iki değerin eşit olmadığını kontrol eder.
- 1:48:42Büyük Küçük Operatörleri
- Büyükse (<), küçükse (>), büyük eşitse (>=), küçük eşitse (<=) operatörleri kullanılır.
- Bu operatörler her zaman soldan sağa doğru değerlendirilir.
- Tam sayılar ve ondalıklı sayılar (float) doğrudan büyük-küçük karşılaştırılabilir, dönüştürme gerekmez.
- 1:50:03Mantıksal Operatörler
- Kodda "print" komutu kullanılarak 5 < 6 (beş küçük altı) ifadesi true olarak değerlendiriliyor.
- "not" operatörü kullanılarak 5 < 6 ifadesi false olarak değerlendiriliyor.
- Mantıksal operatörler sayesinde kodun doğru çalışıp çalışmadığı kontrol edilebiliyor.
- 1:52:02Fonksiyonlar (Metotlar)
- Godot'un 15. bölümünde fonksiyonlar (metotlar) konusu ele alınıyor.
- Fonksiyonlar, aynı kodu tekrar tekrar yazmaktan kurtararak kodlama sürecini kolaylaştırıyor.
- Fonksiyonlar alt tire ile başlanabilir ve içinde parametre değerleri bulunabilir.
- 1:55:22Fonksiyon Çağrısı
- Fonksiyon içindeki kod bloğu, fonksiyon çağrıldığında çalıştırılır.
- Fonksiyon çağrısı, fonksiyonun içindeki tüm kodları çalıştırır.
- Fonksiyonlar kod tekrarını önleyerek kodun daha düzenli ve okunaklı olmasını sağlar.
- 1:57:37Yerel Değişkenler
- Godot'un 16. bölümünde yerel değişkenler anlatılıyor.
- Yerel değişkenler, fonksiyon içinde tanımlanan ve sadece o fonksiyon içinde kullanılabilen değişkenlerdir.
- Fonksiyon dışındaki değişkenler, fonksiyon içinde kullanılamaz.