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

Karo haritası

Karo haritası (Tile Map), bir karo kaynağındaki (Tile Source) karoları geniş bir ızgara alanına yerleştirmenizi veya boyamanızı sağlayan bir bileşendir (component). Karo haritaları genellikle oyun bölümlerinin ortamlarını oluşturmak için kullanılır. Ayrıca, çarpışma algılama ve fizik simülasyonu için haritalarınızda karo kaynağının çarpışma şekillerini (Collision Shapes) kullanabilirsiniz (örnek).

Bir karo haritası oluşturmadan önce bir karo kaynağı oluşturmanız gerekir. Karo kaynağının nasıl oluşturulduğunu öğrenmek için Karo kaynağı kılavuzuna bakın.

Karo haritası oluşturma

Yeni bir karo haritası oluşturmak için:

  • Assets tarayıcısında bir konuma sağ tıklayın, ardından New... ▸ Tile Map seçeneğini seçin).
  • Dosyaya bir ad verin.
  • Yeni karo haritası otomatik olarak karo haritası düzenleyicisinde açılır.

    Yeni karo haritası

  • Tile Source özelliğini hazırladığınız bir karo kaynağı dosyasına ayarlayın.

Karo haritanıza karolar boyamak için:

  1. Outline görünümünde üzerine boyama yapacağınız bir Layer katmanı seçin veya oluşturun.
  2. Fırça olarak kullanılacak bir karo seçin (karo paletini göstermek için Space tuşuna basın) veya birden fazla karodan oluşan dikdörtgen bir fırça oluşturmak için palette tıklayıp sürükleyerek birkaç karo seçin.

    Palet

  3. Seçili fırçayla boyayın. Bir karoyu silmek için boş bir karo seçip fırça olarak kullanın veya silgiyi seçin (Edit ▸ Select Eraser).

    Karoları boyama

Karoları doğrudan bir katmandan alabilir ve seçimi fırça olarak kullanabilirsiniz. Shift tuşunu basılı tutup bir karoya tıklayarak onu geçerli fırça olarak seçin. Shift tuşunu basılı tutarken tıklayıp sürükleyerek daha büyük bir fırça olarak kullanılacak bir karo bloğu da seçebilirsiniz. Benzer şekilde, Shift+Ctrl tuşlarını basılı tutarak karoları kesebilir veya Shift+Alt tuşlarını basılı tutarak silebilirsiniz.

Fırçayı saat yönünde döndürmek için Z tuşunu kullanın. Fırçayı yatay çevirmek için X, dikey çevirmek için Y tuşunu kullanın.

Karoları seçme

Oyununuza karo haritası ekleme

Oyununuza bir karo haritası eklemek için:

  1. Karo haritası bileşenini barındıracak bir oyun nesnesi (game object) oluşturun. Oyun nesnesi bir dosyada bulunabilir veya doğrudan bir koleksiyonda (collection) oluşturulabilir.
  2. Oyun nesnesinin köküne sağ tıklayın ve Add Component File seçeneğini seçin.
  3. Karo haritası dosyasını seçin.

Karo haritasını kullanma

Çalışma sırasında değiştirme

Karo haritalarını çalışma sırasında çeşitli işlevler ve özellikler aracılığıyla değiştirebilirsiniz (kullanım için API belgelerine bakın).

Betikten karoları değiştirme

Oyununuz çalışırken bir karo haritasının içeriğini dinamik olarak okuyabilir ve yazabilirsiniz. Bunun için tilemap.get_tile() ve tilemap.set_tile() işlevlerini kullanın:

local tile = tilemap.get_tile("/level#map", "ground", x, y)

if tile == 2 then
    -- Replace grass-tile (2) with dangerous hole tile (number 4).
    tilemap.set_tile("/level#map", "ground", x, y, 4)
end

Karo haritası özellikleri

Id, Position, Rotation ve Scale özelliklerinin yanı sıra bileşene özgü şu özellikler bulunur:

Tile Source
Karo haritası için kullanılacak karo kaynağı.
Material
Karo haritasının işlenmesinde (rendering), yani görüntüsünün oluşturulmasında kullanılacak materyal (material).
Blend Mode
Karo haritası işlenirken kullanılacak harmanlama modu (blend mode).

Harmanlama modları

Blend Mode özelliği, bileşenin (component) grafiklerinin arkasındaki grafiklerle nasıl harmanlanacağını belirler. Kullanılabilir harmanlama modları (blend modes) ve hesaplanma biçimleri şunlardır:

Alpha
Normal harmanlama: src.a * src.rgb + (1 - src.a) * dst.rgb
Add
Bileşenin karşılık gelen piksellerinin renk değerleriyle arka planı aydınlatır: src.rgb + dst.rgb
Multiply
Bileşenin karşılık gelen piksellerinin değerleriyle arka planı koyulaştırır: src.rgb * dst.rgb
Screen
Multiply modunun tersidir. Arka planın ve bileşenin karşılık gelen piksellerinin parlaklığını artırır: src.rgb - dst.rgb * dst.rgb

Özellikleri değiştirme

Karo haritası, go.get() ve go.set() kullanılarak değiştirilebilen çeşitli özelliklere sahiptir:

tile_source
Karo haritasının karo kaynağı (hash). Bunu bir karo kaynağına başvuran kaynak özelliği ve go.set() kullanarak değiştirebilirsiniz. Örnek için API başvurusuna bakın.
material
Karo haritasının materyali (hash). Bunu bir materyale başvuran kaynak özelliği ve go.set() kullanarak değiştirebilirsiniz. Örnek için API başvurusuna bakın.

Materyal sabitleri

Varsayılan tilemap materyalinde (material), go.set() veya go.animate() kullanarak değiştirebileceğiniz aşağıdaki sabitler bulunur (daha fazla ayrıntı için Materyal kılavuzuna bakın). Örnekler:

go.set("#tilemap", "tint", vmath.vector4(1,0,0,1))
go.animate("#tilemap", "tint", go.PLAYBACK_LOOP_PINGPONG, vmath.vector4(1,0,0,1), go.EASING_LINEAR, 2)
tint
Karo haritasının renk çarpanı (tint) (vector4). Renk çarpanını temsil etmek için vector4 kullanılır; x, y, z ve w sırasıyla kırmızı, yeşil, mavi ve alfa çarpanlarına karşılık gelir.

Proje yapılandırması

game.project dosyasında karo haritalarıyla ilgili birkaç proje ayarı bulunur.

Harici araçlar

Doğrudan Defold karo haritalarına dışa aktarabilen harici harita/bölüm düzenleyicileri vardır:

Tiled

Tiled, dik açılı, izometrik ve altıgen haritalar için tanınan ve yaygın olarak kullanılan bir harita düzenleyicisidir. Tiled çok çeşitli özellikleri destekler ve doğrudan Defold’a dışa aktarabilir. Karo haritası verilerinin ve ek üst verilerin nasıl dışa aktarılacağı hakkında daha fazla bilgi için Defold kullanıcısı “goeshard” tarafından yazılan bu blog yazısını okuyun.

Tilesetter

Tilesetter, basit temel karolardan otomatik olarak eksiksiz karo kümeleri oluşturmak için kullanılabilir ve doğrudan Defold’a dışa aktarabilen bir harita düzenleyicisine sahiptir.