iMedre

SKNode Sınıfının Fonksiyonları 3 Sprite Kit Derinlikleri #6

Merhaba,SKNode sınıfına kaldığımız yerden devam ediyoruz.  Bir önceki yazıda Düğüm Ağacı için Çizim Sırasını Anlama, Hit-Test Emri Çizim Emrinin Tersidir,  Düğüm Ağacını Arama, Bir Düğüm, Özelliklerinin Birçoğunu Soyuna Uygular ve Koordinat Uzayları Arası Dönüştürme konularını işledik. Eğer bir önceki konuyu okumadıysanız kırmızı butona tıklayarak okuyabilirsiniz. SKNode Sınıfı Nedir 2 ?

Bu yazıda SKNode sınıfının

  1. Düğümün Konumunu Denetleme,
  2. Bir düğümü’nü Ölçekleme ve Rotasyon Ayarı,
  3. Düğümün Görünürlüğünü Denetleme,
  4. Bir Düğümün Kullanıcı Etkileşimini Destekleyip Desteklemediğini Belirleme,
  5. Düğüm Ağaçlarıyla Çalışma,
  6. Düğümleri Adlandırma,
  7. Aksiyonları Çalıştırma,
  8. Düğüme Fizik Ekleme,
  9. Düğümün Koordinat Sistemine ve bu sistemden dönüştürme,
  10. Düğümde bir noktanın bulunup bulunmadığını belirleme,
  11. Düğümün Sahne İle Kesişimini Belirleme,
  12. Bir düğüm kümesinden GameplayKit engelleri oluşturma,
  13. GameplayKit Varlıkları ile Çalışmak,
  14. Özel Düğüm Verilerinin Saklanması,
  15. Bir Düğümün Diğer Düğümlere Göre Davranışını Kısıtlama

 fonksiyonlarını göreceğiz. Keyifli okumalar.

Düğümün Konumunu Denetleme

1-init?(fileNamed: String)

Oyunun ana paketinden bir arşiv dosyası yükleyerek yeni bir düğüm oluşturur.

2-func calculateAccumulatedFrame()

Ebeveynin koordinat sisteminde, düğümün ve tüm alt öğelerinin içeriğini içeren bir dikdörtgeni hesaplar.
3-var frame: CGRect
Düğümün içeriğini içeren ve düğümün çocuklarını göz ardı eden ebeveynin koordinat sistemindeki bir dikdörtgen.
4-var position: CGPoint
Düğümün ebeveyninin koordinat sisteminde konumu.
5-var zPosition: CGFloat
Düğümün ebeveynine göre yüksekliği.

Bir düğümü’nü Ölçekleme ve Rotasyon Ayarı

func setScale(CGFloat)

Düğümün xScale ve yScale özelliklerini ayarlar.

var xScale: CGFloat

Bir düğümün ve onun çocuklarının genişliğini çarpan bir ölçekleme faktörü.
var yScale: CGFloat

Bir düğümün ve çocukların yüksekliğini çarpan bir ölçekleme faktörü.

var zRotation: CGFloat
Z ekseni etrafında Euler dönüşü (radyan olarak).

Düğümün Görünürlüğünü Denetleme

var alpha: CGFloat

Düğümün içeriğine uygulanan saydamlık değeri.

var isHidden: Bool

Bir düğüm ve soyundan işlenen  var mı yok mu belirleyen bir Boolean değer.

Bir Düğümün Kullanıcı Etkileşimini Destekleyip Desteklemediğini Belirleme

var isUserInteractionEnabled: Bool

Düğümün dokunma olaylarını alıp almadığını gösteren Boole değeri.

Düğüm Ağaçlarıyla Çalışma

func addChild(SKNode)

Alıcının çocuk düğümleri listesinin sonuna bir düğüm ekler.

func insertChild(SKNode, at: Int)

Bir çocuğu alıcının çocuk düğümleri listesinde belirli bir konuma ekler.

func isEqual(to: SKNode)

Parametre düğümünü alıcı düğümle karşılaştırır.

func move(toParent: SKNode)

Düğümü sahnede yeni bir ana düğüme taşır.

func removeFromParent()

Alıcı düğümü ana öğesinden kaldırır.

func removeAllChildren()

Tüm düğümün çocuklarını kaldırır.

func removeChildren(in: [SKNode])

Alıcı düğümdeki çocukların listesini kaldırır.

func inParentHierarchy(SKNode)

Düğümün hedef düğümün soyundan gelip gelmediğini gösteren Boole değerini döndürür.

var children: [SKNode]

Düğümün çocukları.

var parent: SKNode?

Düğümün üst düğümü.

var scene: SKScene?

Düğümü içeren sahne düğümü.

Düğümleri Adlandırma

func childNode(withName: String)

Bir düğüm için alıcı düğümün çocuklarını belirli bir adla arar.

func enumerateChildNodes(withName: String, using: (SKNode, UnsafeMutablePointer<ObjCBool>) -> Void)

Bir adı paylaşan düğümler için işlem gerçekleştirmek üzere alıcı düğümün çocuklarını arar.

subscript(String)

Name parametresiyle eşleşen bir dizi düğüm döndürür.

var name: String?

Düğümün atanabilir adı.

Aksiyonları Çalıştırma

func run(SKAction)
Düğüm tarafından yürütülen eylemlerin listesine bir eylem ekler.
func run(SKAction, completion: () -> Void)
Düğüm tarafından yürütülen eylemlerin listesine bir eylem ekler.
func action(forKey: String)
Belirli bir anahtarla ilişkili bir eylem döndürür.
func hasActions()
Düğümün eylemleri yürütüp yürütmediğini gösteren bir Boole değeri döndürür.
func removeAllActions()
Düğümdeki tüm eylemleri sona erdirir ve kaldırır.
func removeAction(forKey: String)
Belirli bir anahtarla ilişkilendirilmiş bir eylemi kaldırır.
var speed: CGFloat
Bir düğüm ve onun torunları tarafından yürütülen tüm eylemlere uygulanan bir hız değiştirici.
var isPaused: Bool
Düğümdeki ve onun torunlarındaki eylemlerin işlenip işlenmeyeceğini belirleyen bir Boole değeri.

Düğüme Fizik Ekleme

var physicsBody: SKPhysicsBody?

Düğüm ile ilişkili fizik gövdesi.

Düğümün Koordinat Sistemine ve bu sistemden dönüştürme

func convert(CGPoint, from: SKNode)

Düğüm ağacındaki başka bir düğümün koordinat sisteminden bir noktayı bu düğümün koordinat sistemine dönüştürür.

func convert(CGPoint, to: SKNode)

Bu düğümün koordinat sistemindeki bir noktayı düğüm ağacındaki başka bir düğümün koordinat sistemine dönüştürür.

Düğümde bir noktanın bulunup bulunmadığını belirleme

func contains(CGPoint)

Bir noktanın ebeveynin koordinat sisteminde olup olmadığını belirten bir Boole değeri döndürür.

func atPoint(CGPoint)

Bir noktayı kesişen en derin görünür soyu döndürür.

func nodes(at: CGPoint)

Bir noktaya kesişen tüm görünen torunların bir dizisini döndürür.

 

Düğümün Sahne İle Kesişimini Belirleme

func intersects(SKNode)

Bu düğümün belirtilen düğümle kesişip kesişmediğini gösteren bir Boole değeri döndürür.

Bir düğüm kümesinden GameplayKit engelleri oluşturma

Çoğunlukla, oyununuzdaki yol bulma, görsel temsiliyle yakından eşleşmelidir. Bu yöntemler, sahnenizin görsel temsilini GameplayKit ile kullanılabilecek engellere hızla dönüştürmenin yollarını sunar.

class func obstacles(fromNodeBounds: [SKNode])

Sınırlarını sahnedeki koordinat sistemine dönüştürerek her düğümü bir engele dönüştürür.

class func obstacles(fromNodePhysicsBodies: [SKNode])

Düğümün fizik gövdesi şeklini sahnedeki koordinat sistemine dönüştürerek her düğümü bir engele dönüştürür.

class func obstacles(fromSpriteTextures: [SKNode], accuracy: Float)

Düğümün dokusunu ilk önce bir fizik şekline dönüştürerek ve ardından bu şekli sahnedeki koordinat sistemine dönüştürerek her düğümü bir engele dönüştürür.

GameplayKit Varlıkları ile Çalışmak

var entity: GKEntity?

Bu düğümün temsil ettiği GameplayKit varlığı.

Özel Düğüm Verilerinin Saklanması

var userData: NSMutableDictionary?

Rasgele veri içeren bir sözlük.

Bir Düğümün Diğer Düğümlere Göre Davranışını Kısıtlama

var constraints: [SKConstraint]?

Düğüme uygulanacak kısıtlamaların listesini belirtir.

var reachConstraints: SKReachConstraints?

Bir erişim eylemi gerçekleştirirken düğüme uygulanacak erişim kısıtlamalarını belirtir.

 Bu yazıda SKNode sınıfının fonksiyonlarını ve bazı değişkenlerini inceledik. Bir sonraki konuda görüşmek üzere.

 

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.