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
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.
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.
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.
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.
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.

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.
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.
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.

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
},
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.
Defold Kit, aşağıdaki özellikleri sunan bir Visual Studio Code eklentisidir:
Visual Studio Marketplace üzerinden daha fazla bilgi edinin ve Defold Kit’i yükleyin.
Dash ve Zeal için topluluk tarafından oluşturulmuş API başvuru belgesi paketleri mevcuttur.