iMedre

SKTileMapNode Nedir Ve Fonksiyonları Nelerdir? Sprite Kit Derinlikleri #20

Merhaba, bu yazıda SKTileMapNode sınıfını anlatacağım. Keyifli okumalar.

Kısaca SKMutableAtlas Nedir?

2D array texture sprite işlemek için kullanılan bir düğüm.

Genel Bakış

Bir SKTileMapNode oluşturabildiği karo tanımlarını tanımlayan bir döşeme kümesi sağlarsınız. Döşeme eşlemesindeki her döşemeyi fill (with: ) yöntemi ile doldurabilir ve setTileGroup (_: veTileDefinition: forColumn: row : ) yöntemiyle tek tek döşemeler için tanımları açıkça ayarlayabilirsiniz.

Tek tek karo haritalarını farklı karışım modlarıyla katmanlayabilirsiniz ve SpriteKit düğümleri olduklarından, örneğin paralaks kaydırma gibi hareketlere ve fiziğe göre kontrol edilebilirler. İşlenen karo haritası, hareket bulanıklığı veya atmosferik perspektif gibi efektler eklemek için bir SKShader ile işlenebilir.

Bir SKTileMapNode, yalnızca sağladığınız SKTileSet içinde bulunan kiremit tanımlarını oluşturabilir.

Fonksiyonları

Özel Gölgelendiricilerle Çalışmak

var shader: SKShader?

Karo haritasının her bir döşemesine uygulanan bir gölgelendiriciyi tanımlar.

 var attributeValues: [String : SKAttributeValue]
Düğümün ekli gölgelendiricisi ile ilişkili her bir özelliğin değerleri.
func setValue(SKAttributeValue, forAttribute: String)
 
Ekli bir gölgelendirici için bir özellik değeri ayarlar.
func value(forAttributeNamed: String)
 
Gölgelendirici özelliğinin değeri.

Tanımlayıcılar

init(tileSet: SKTileSet, columns: Int, rows: Int, tileSize:CGSize)

Sağlanan döşeme setini kullanarak belirli bir sayıda sütun ve satır içeren bir kiremit haritası düğümünü oluşturur ve başlatır. Bir ızgara kümesi türü için, düğümün noktalarındaki toplam boyut numberOfColumns * tileSize.width geniş ve numberOfRows * tileSize.height yüksek olacaktır. Bu başlatıcı boş bir kiremit haritası oluşturur.

init(tileSet: SKTileSet, columns: Int, rows: Int, tileSize:CGSize, fillWith: SKTileGroup)

Sağlanan döşeme setini kullanarak belirli bir sayıda sütun ve satır içeren bir kiremit haritası düğümünü oluşturur ve başlatır. Bir ızgara kümesi türü için, düğümün noktalarındaki toplam boyut numberOfColumns * tileSize.width geniş ve numberOfRows * tileSize.height yüksek olacaktır. Bu başlatıcı, her bir döşemeyi, son SKTileGroup bağımsız değişkenindeki tanımlayıcılar tarafından tanımlanan bir doku ile doldurur.

init(tileSet: SKTileSet, columns: Int, rows: Int, tileSize:CGSize, tileGroupLayout: [SKTileGroup])

Sağlanan döşeme setini kullanarak belirli bir sayıda sütun ve satır içeren bir kiremit haritası düğümünü oluşturur ve başlatır. Bir ızgara kümesi türü için, düğümün noktalarındaki toplam boyut numberOfColumns * tileSize.width geniş ve numberOfRows * tileSize.height yüksek olacaktır.

Örnek Özellikleri

var anchorPoint: CGPoint

Düğümdeki düğümün konumuna karşılık gelen noktayı tanımlar.

var blendMode: SKBlendMode

Karo haritasını diğer düğümler üzerinde birleştirirken kullanılacak karışım modunu tanımlar.

var color: UIColor

Karo haritasının temel rengi. Çini haritası düğümünün dokuları üzerindeki rengin etkisi, colorBlendFactor tarafından kontrol edilir.

var colorBlendFactor: CGFloat

Doku ve döşeme haritası nesnesinin rengi arasındaki harmanlamayı kontrol eder. Değerler sıfır ile sıfır arasında sabitlenir, burada sıfır renk karıştırma ve bir tanesi maksimum renk harmanına sahiptir.

var enableAutomapping: Bool

Tile map nesnesinin, setTileGroup (_: forColumn: row 🙂 tarafından ayarlanan komşu karoların grubunu ve tanımını çözümlemeye çalışıp çalışmayacağını belirler.

var lightingBitMask: UInt32

Bu hareketli grafiğin sahnelerde ışık düğümleri tarafından nasıl aydınlatıldığını tanımlayan bir maske.

var mapSize: CGSize

Karo haritasının genel boyutu.

var numberOfColumns: Int

Karo haritasındaki sütun sayısı

var numberOfRows: Int

Karo haritasındaki satır sayısı.

var tileSet: SKTileSet

Bu karo haritasının kullandığı karo seti. Karo eşleme nesnesi yalnızca bu setteki mevcut karoları görüntüleyebilir.

var tileSize: CGSize

Her kiremitin noktalardaki boyutu.

 

 

 

 

Erdem Özgür

Yorum Ekle

Bizleri Sosyal Medyadan Takip Edebilirsiniz

Utanmana gerek yok, bizimle iletişim kurabilirsin. İnsanlarla tanışmayı ve yeni arkadaşlar edinmeyi seviyoruz.