Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Kod yazma

Defold, oyun içeriğinizin büyük bir bölümünü karo haritası (tilemap) ve parçacık efekti (particle effect) düzenleyicileri gibi görsel araçlarla oluşturmanıza olanak tanısa da oyun mantığını bir kod düzenleyicisi kullanarak oluşturursunuz. Oyun mantığı Lua programlama dili ile yazılırken motorun kendisine yönelik eklentiler, hedef platformun yerel dili veya dilleri kullanılarak yazılır.

Lua kodu yazma

Defold, hedef platforma bağlı olarak Lua 5.1 ve LuaJIT kullanır. Oyun mantığını yazarken Lua’nın bu belirli sürümlerinin dil belirtimine uymanız gerekir. Defold’da Lua ile çalışma hakkında daha fazla bilgi için Defold’da Lua kılavuzumuza bakın.

Lua’ya dönüştürülen diğer dilleri kullanma

Defold, Lua kodu üreten kaynak kod dönüştürücülerin (transpiler) kullanımını destekler. Kaynak kod dönüştürücü eklentisi yüklüyken, statik olarak denetlenen Lua kodu yazmak için Teal gibi alternatif diller kullanabilirsiniz. Bu, kısıtlamaları olan bir önizleme özelliğidir: mevcut kaynak kod dönüştürücü desteği, Defold Lua çalışma zamanı ortamında tanımlı modüller ve işlevler hakkındaki bilgileri sunmaz. Bu nedenle go.animate gibi Defold API’lerini kullanmak için harici tanımları kendiniz yazmanız gerekir.

Yerel kod yazma

Defold, motorun kendisinin sunmadığı platforma özgü işlevlere erişmek için oyun motorunu yerel kodla (native code) genişletmenize olanak tanır. Lua’nın performansı yeterli olmadığında da yerel kod kullanabilirsiniz (yoğun kaynak gerektiren hesaplamalar, görüntü işleme vb.). Daha fazla bilgi için yerel kod eklentileri kılavuzlarımıza bakın.

Yerleşik kod düzenleyicisini kullanma

Defold’un yerleşik kod düzenleyicisi, Lua dosyalarını (.lua), Defold betik dosyalarını (.script, .gui_script ve .render_script) ve düzenleyicinin doğrudan işlemediği dosya uzantılarına sahip diğer tüm dosyaları açıp düzenlemenize olanak tanır. Ayrıca düzenleyici, Lua ve betik dosyaları için sözdizimi vurgulaması sağlar.

Kod tamamlama

Yerleşik kod düzenleyicisi, kod yazarken işlevler için kod tamamlama önerileri gösterir:

CTRL + Space tuşlarına bastığınızda işlevler, bağımsız değişkenler ve dönüş değerleri hakkında ek bilgiler gösterilir:

Birlikte gelen Lua dil sunucusu, Defold API’leri için tür açıklamaları (type annotations) içerir. Kod tamamlama, üzerine gelindiğinde gösterilen bilgiler ve tanılama işlevleri; karma değerleri (hash), URL’ler, vektörler ve kuaterniyonlar (quaternion) gibi Defold türlerini, işlev bağımsız değişkenlerini ve dönüş değerlerini tanır. Düzenleyici, oyun betikleri ve .editor_script dosyalarında kullanılan editor.* API’leri için açıklamalar sağlar. Defold kod düzenleyicisini kullanırken yerleşik API’ler için ayrı bir açıklama kütüphanesine gerek yoktur.

Üçüncü taraf eklenti API’leri kendi açıklamalarına ihtiyaç duyabilir.

Kodu biçimlendirme

Dil sunucusunun biçimlendiricisini çalıştırmak için Edit ▸ Format Document/Selection seçeneğini seçin veya Alt + Shift + F tuşlarına basın. Bir seçim varsa düzenleyici seçili satırları, yoksa belgenin tamamını biçimlendirir. Biçimlendirme için ilgili biçimlendirme işlemini destekleyen bir dil sunucusu gerekir.

Değiştirilmiş açık dosyaları kaydederken biçimlendirmek için Preferences ▸ Code bölümündeki Format on save seçeneğini etkinleştirin. Bu tercih varsayılan olarak devre dışıdır ve belge biçimlendirmeyi destekleyen bir dil sunucusu gerektirir. Kod tercihlerine bakın.

Simgeye gitme

Yerleşik kod düzenleyicisi, geçerli kod dosyasındaki işlevler, nesneler ve değişkenler gibi simgelerin aranabilir bir listesini gösterebilir. View ▸ Jump to Symbol… seçeneğini seçin veya Windows ve Linux’ta Ctrl + Shift + O, macOS’te ise ⌘ Cmd + Shift + O tuşlarına basın.

Simgeler arasında yaklaşık eşleşmeyle arama yapmak için yazmaya başlayın. Sonuçlar arasında ilerlemek ve düzenleyicideki konumlarını önizlemek için ok tuşlarını kullanın, ardından seçili simgeye gitmek için Enter tuşuna basın. İletişim kutusunu kapatıp önceki imleç ve kaydırma konumuna dönmek için Esc tuşuna basın.

Statik kod denetimini yapılandırma

Yerleşik kod düzenleyicisi, Luacheck ve Lua dil sunucusunu kullanarak statik kod denetimi (code linting) yapar. Luacheck’i yapılandırmak için projenin kök dizininde bir .luacheckrc dosyası oluşturun. Kullanılabilir seçeneklerin listesi için Luacheck yapılandırma sayfasını okuyabilirsiniz. Defold, Luacheck yapılandırmasında aşağıdaki varsayılanları kullanır:

unused_args = false      -- don't warn on unused arguments (common for .script files)
max_line_length = false  -- don't warn on long lines
ignore = {
    "611",               -- line contains only whitespace
    "612",               -- line contains trailing whitespace
    "614"                -- trailing whitespace in a comment
},

Harici bir kod düzenleyicisi kullanma

Defold’un kod düzenleyicisi, kod yazmak için gereken temel işlevleri sağlar. Ancak daha gelişmiş kullanım durumlarında veya tercih ettiği bir kod düzenleyicisi olan ileri düzey kullanıcılar için Defold’un dosyaları harici bir düzenleyiciyle açmasını sağlamak mümkündür. Preferences penceresinin Code sekmesinde, kod düzenlerken kullanılacak harici bir düzenleyici tanımlayabilirsiniz.

Visual Studio Code - Defold Kit

Defold Kit, aşağıdaki özellikleri sunan bir Visual Studio Code eklentisidir:

  • Önerilen eklentileri yükleme
  • Lua vurgulaması, otomatik tamamlama ve statik kod denetimi
  • İlgili ayarları çalışma alanına uygulama
  • Defold API’si için Lua açıklamaları
  • Bağımlılıklar için Lua açıklamaları
  • Derleyip başlatma
  • Kesme noktalarıyla hata ayıklama
  • Tüm platformlar için paketleme
  • Bağlı mobil cihazlarda dağıtıma alma

Visual Studio Marketplace üzerinden daha fazla bilgi edinin ve Defold Kit’i yükleyin.

Belge yazılımları

Dash ve Zeal için topluluk tarafından oluşturulmuş API başvuru belgesi paketleri mevcuttur.