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
Sprite bileşenlerinde (sprite components) kaynak olarak çoğu zaman tek tek görüntüler kullanılsa da performans nedeniyle görüntülerin atlas adı verilen daha büyük görüntü kümelerinde birleştirilmesi gerekir. Küçük görüntü kümelerinin atlaslarda birleştirilmesi, özellikle bellek ve işlem gücünün masaüstü bilgisayarlara veya oyun konsollarına göre daha sınırlı olduğu mobil cihazlarda önemlidir.
Defold’da atlas kaynağı (atlas resource), otomatik olarak daha büyük bir görüntüde birleştirilen ayrı görüntü dosyalarının listesidir.
Assets tarayıcısındaki bağlam menüsünden New... ▸ Atlas seçeneğini seçin. Yeni atlas dosyasına bir ad verin. Düzenleyici dosyayı atlas düzenleyicisinde açar. Atlas özellikleri, düzenleyebilmeniz için Properties bölmesinde gösterilir (ayrıntılar için aşağıya bakın).
Bir atlası, sprite ve ParticleFX gibi nesne bileşenleri için grafik kaynağı olarak kullanmadan önce atlasa görüntüler veya animasyonlar eklemeniz gerekir.
Görüntülerinizi projeye eklediğinizden emin olun (görüntü dosyalarını Assets tarayıcısında uygun konuma sürükleyip bırakın)
Görüntüleri Asset bölmesinden düzenleyici görünümüne sürükleyip bırakın.
Alternatif olarak, Outline bölmesindeki kök Atlas öğesine sağ tıklayın.
Tek tek görüntüler eklemek için açılan bağlam menüsünden Add Images seçeneğini seçin.
Atlasa eklemek istediğiniz görüntüleri bulup seçebileceğiniz bir iletişim kutusu açılır. Görüntü dosyalarını filtreleyebilir ve aynı anda birden fazla dosya seçebilirsiniz.

Eklenen görüntüler Outline görünümünde listelenir ve atlasın tamamı ortadaki düzenleyici görünümünde görülebilir. Seçimi görünüm alanına sığdırmak için F tuşuna basmanız (menüden View ▸ Frame Selection) gerekebilir.

Bir kare dizisi animasyonu (flipbook animation) grubu oluşturmak için açılan bağlam menüsünden Add Animation Group seçeneğini seçin.
Atlasa varsayılan ada (New Animation) sahip yeni, boş bir animasyon grubu eklenir.
Görüntüleri seçili gruba eklemek için Asset bölmesinden düzenleyici görünümüne sürükleyip bırakın.
Alternatif olarak, yeni gruba sağ tıklayın ve bağlam menüsünden Add Images seçeneğini seçin.
Animasyon grubuna eklemek istediğiniz görüntüleri bulup seçebileceğiniz bir iletişim kutusu açılır.

Animasyon grubu seçiliyken önizlemek için Space tuşuna, önizlemeyi kapatmak için Ctrl/Cmd+T tuşlarına basın. Animasyonun Properties bölmesindeki özelliklerini gerektiği gibi ayarlayın (aşağıya bakın).

Outline görünümündeki görüntüleri seçip Alt + Up/down tuşlarına basarak yeniden sıralayabilirsiniz. Outline görünümündeki görüntüleri kopyalayıp yapıştırarak kolayca çoğaltabilirsiniz (Edit menüsünü, sağ tıklama bağlam menüsünü veya klavye kısayollarını kullanarak).
Her atlas kaynağının bir dizi özelliği vardır. Outline görünümündeki kök öğeyi seçtiğinizde bu özellikler Properties bölmesinde gösterilir.
/builtins/materials/*_paged_atlas.material konumunda bulunan ve çok sayfalı atlas desteği etkin olan materyallerle (materials) birlikte kullanılması gerekir.
search=replace biçiminde olduğu, virgülle (´,´) ayrılmış arama ve değiştirme desenleri listesi.
Her görüntünün özgün adı (dosyanın uzantısız adı) bu desenler kullanılarak dönüştürülür. (Örneğin, hat=cat,_normal= deseni, hat_normal adlı bir görüntüyü cat olarak yeniden adlandırır). Bu, atlaslar arasında animasyonları eşleştirirken kullanışlıdır.Aşağıda, bir atlasa 64x64 boyutunda dört kare görüntü eklendiğinde farklı özellik ayarlarının sonuçlarını gösteren örnekler verilmiştir. Görüntüler 128x128 alana sığmadığı anda atlasın 256x256 boyutuna çıktığına ve bunun doku alanının büyük ölçüde boşa harcanmasına neden olduğuna dikkat edin.

Bir atlastaki her görüntünün bir dizi özelliği vardır:

Bir animasyon grubundaki görüntülerin listesine ek olarak bir dizi özellik bulunur:
None animasyonu hiç oynatmaz, ilk görüntü gösterilir.Once Forward animasyonu ilk görüntüden son görüntüye kadar bir kez oynatır.Once Backward animasyonu son görüntüden ilk görüntüye kadar bir kez oynatır.Once Ping Pong animasyonu ilk görüntüden son görüntüye ve ardından ilk görüntüye geri dönerek bir kez oynatır.Loop Forward animasyonu ilk görüntüden son görüntüye kadar tekrar tekrar oynatır.Loop Backward animasyonu son görüntüden ilk görüntüye kadar tekrar tekrar oynatır.Loop Ping Pong animasyonu ilk görüntüden son görüntüye ve ardından ilk görüntüye geri dönerek tekrar tekrar oynatır.Çalışma sırasında bir doku ve bir atlas oluşturmak mümkündür.
Yeni bir doku kaynağı oluşturmak için resource.create_texture(path, params) işlevini kullanın:
local params = {
width = 128,
height = 128,
type = graphics.TEXTURE_TYPE_2D,
format = graphics.TEXTURE_FORMAT_RGBA,
}
local my_texture_id = resource.create_texture("/my_custom_texture.texturec", params)
Doku oluşturulduktan sonra dokunun piksellerini ayarlamak için resource.set_texture(path, params, buffer) işlevini kullanabilirsiniz:
local width = 128
local height = 128
local buf = buffer.create(width * height, { { name=hash("rgba"), type=buffer.VALUE_TYPE_UINT8, count=4 } } )
local stream = buffer.get_stream(buf, hash("rgba"))
for y=1, height do
for x=1, width do
local index = (y-1) * width * 4 + (x-1) * 4 + 1
stream[index + 0] = 0xff
stream[index + 1] = 0x80
stream[index + 2] = 0x10
stream[index + 3] = 0xFF
end
end
local params = { width=width, height=height, x=0, y=0, type=graphics.TEXTURE_TYPE_2D, format=graphics.TEXTURE_FORMAT_RGBA, num_mip_maps=1 }
resource.set_texture(my_texture_id, params, buf)
resource.set_texture() işlevini, dokunun bir alt bölgesini güncellemek için de kullanabilirsiniz. Bunun için dokunun tam boyutundan daha küçük genişlik ve yüksekliğe sahip bir arabellek kullanın ve resource.set_texture() işlevine verilen x ve y parametrelerini değiştirin.
Doku, go.set() kullanılarak doğrudan bir model bileşeninde kullanılabilir:
go.set("#model", "texture0", my_texture_id)
Dokunun bir sprite bileşeninde kullanılması için önce bir atlas tarafından kullanılması gerekir. Bir atlas oluşturmak için resource.create_atlas(path, params) işlevini kullanın:
local params = {
texture = texture_id,
animations = {
{
id = "my_animation",
width = width,
height = height,
frames = { 1 },
}
},
geometries = {
{
vertices = {
0, 0,
0, height,
width, height,
width, 0
},
uvs = {
0, 0,
0, height,
width, height,
width, 0
},
indices = {0,1,2,0,2,3}
}
}
}
local my_atlas_id = resource.create_atlas("/my_atlas.texturesetc", params)
-- assign the atlas to the 'sprite' component on the same go
go.set("#sprite", "image", my_atlas_id)
-- play the "animation"
sprite.play_flipbook("#sprite", "my_animation")
frames öğeleri, geometries tablosuna başvuran ve 1’den başlayan indislerdir. Bir liste geometrileri yeniden kullanabilir, yeniden sıralayabilir veya atlayabilir; kullanımı artık önerilmeyen frame_start ve frame_end aralık alanlarıyla bunlar temsil edilemez. resource.get_atlas() işlevi frames döndürür; atlas verilerini resource.set_atlas() veya resource.create_atlas() işlevine aktarırken aynı gösterimi kullanın. Aralık alanları, uyumluluk için ayarlama ve oluşturma işlevleri tarafından hâlâ kabul edilir, ancak yeni kodda frames kullanılması önerilir.