SEARCH
banner the journal
CATEGORIES
RECENT POSTS
CALENDAR
Ağustos 2021
P S Ç P C C P
 1
2345678
9101112131415
16171819202122
23242526272829
3031  
Text Widget

Vivamus luctus urna sed urna ultricies ac tempor dui sagittis. In condimentum facilisis porta. Sed nec diam eu diam mattis viverra. Nulla fringilla, orci ac euismod semper, magna diam porttitor mauris, quis sollicitudin sapien justo in libero. Vestibulum mollis mauris enim. Morbi euismod magna ac lorem rutrum elementum. Donec viverra auctor lobortis. Pellentesque eu est a nulla placerat dignissim. Morbi a enim in magna semper bibendum.

About Us
In condimentum facilis porta. Sed nec diam eu diam mattis viverra. Nulla fringilla, orci acerty euismod semper, magna diamert porttitor mauris, quis sollicitudin sapien justo in libero. Mei iriure dignissim ad, prompta.
Genel

Oyunlarda Resimleri Kırpma – SpriteKit CropNode

By
on
15 Şubat 2021

Farz edelim ki altta görünen soldaki şekilde bir fotoğrafınız ve ortada görünen şekilde bir çerçeveniz var, fotoğrafı bu çerçevenin içine koymak için fotoğrafı aynı çerçeve şeklinde kesersiniz.

Fotoğrafı çerçeveye göre kesmek

Bilgisayar tabanlı grafiklerde biz buna “kırpma” (Crop) demekteyiz.

iOS için SpriteKit ile oyun geliştirirken kırpma işlemi, ilk olarak bir bu iş özel sunulan SKCropNode nesnesi oluşturmalısınız. SKCropNode’un çok önemli bir özelliği ne şekilde kırpacağını (yukarıdaki örnekteki ortadaki çerçeve) anlayacağı maskeleme anahtarı katmanı (Mask Node) ‘dır. Maskeleme anahtarı şu şekilde çalışır. Eğer bu katmanda bir piksel boyalı ise tam altında denk düşen alt fotoğrafın o pikseli görünür. Eğer saydam (transparent) boyasız ise alttaki piksel de gözükmez.

Bu halde yukarıdaki örnekte gösterilen fotoğraf çerçevesinin SpriteKit’te karşılığı maskeleme anahtar katmanı şu şekilde olacaktır. Rengin ne olduğu hiç önemli değildir, önemli olan bir renk olması yani saydam olmamasıdır. Renkli kısımların altı görünür. Bu da aslında bir SKSpriteNode nesnesidir.

maskeKatmanı.png

Kodlama tarafına bakarsak ilk önce maskeleme katmanını resmini okuruz, kırpma düğümünü oluşturup maskNode özelliğine bir önce okuduğumuz maskeleme katmanını atarız.

// Maske Katmanını Oku
let maskeKatmanı = SKSpriteNode(imageNamed: "maskeKatmanı")

// Kırpma katmanını oluştur ve maske katmanını ata
let kırpmaKatmanı = SKCropNode()
kırpmaKatmanı.maskNode = maskeKatmanı

Sonrasında kırpıp işleyeceğimiz resmi örneğin kırpılacakResim isimli bir düğüm oluşturup buna okuruz. Son olarak da yeni oluşturduğumuz bu kırpılacak resmi kırpmaKatmanına alt nesne – çocuk olarak ekleriz.

kırpılacakResim = SKSpriteNode(imageNamed: "ayşenaz")
kırpmaKatmanı.addChild(kırpılacakResim)

TAGS
RELATED POSTS

LEAVE A COMMENT