2017-09-29 28 views
9

SpriteKit'i AppKit ile birleştiren küçük bir yardımcı program uygulaması oluşturuyorum. Özellikle, uygulama penceresi için "arka plan" olarak bir SKView kullanıyorum (çoğunlukla SpriteKit'te daha kolay olan belirli animasyon türleri için). Ayrıca başlık çubuğunun rengini ayarlamak için Pencerenin arka plan özelliğinin renklerini değiştiriyorum. Yeşil ve kırmızı arasında geçiş.Eşleşen AppKit ve SpriteKit renkleri

Çalıştığım sorun, AppKit ve SpriteKit arasındaki renklerin eşleşmesidir. Kısacası, eşleşmiyorlar. Resimde gördüğünüz gibi başlık çubuğu SKView'den biraz farklı. oynama biraz sonra

enter image description here

, ben SKView arka plan rengi "Cihaz RGB renk" olduğunu ve Pencere renkleri içinde olduğunu tespit "sRGB IEC61966-2.1 ColorSpace." AppKit renklerini cihaz RGB olarak değiştirdim ve renkler hala uymuyor.

Renkleri düzenli eski bir NSColor başlatıcısı ile oluşturuyorum.

Bir rengin renk alanını değiştirip değiştiremeyeceğinizden emin değilim. Window ve SKView'daki backgroundColor özelliği yalnızca okunur.

Herhangi bir fikrin var mı?

+0

can sıkıcı sesler dönüştürmeyi de burada bazı veridir zaman insanların çoğu olacak haber öyle değil ve onlar fark eğer onlar gerçekten

bakım alışkanlık !! OSX için SKColor'un NSColor olduğunu ve iOS için SKColor'un UIColor olduğunu biliyorum ... bunun hakkında daha fazla bilgi edinmek istiyorum! – Fluidity

+0

Her şeyden önce UIView'deki SpriteKit sahnesini kullanın Tüm R, G, B, A değerlerini tek başına çözün ve bunları R ile R ve böylece –

cevap

1

im yapmak isteyen ne bu hakkı okuma eğer maç renkleri sadece onları

eşit ve bunları eşleştirmek için ikinci sorum gerekiyor edilir belirlesin yourAppKit.backgroundColor = yourSKView.backgroundColor gibi bir şey yapamadı mı? RGB to sRGB

+0

Evet, eşleşmeleri gerekiyor. Sanırım onları bilerek daha ayrı bir yere taşıyabiliyordum ve bunu amaca uygun hale getirebiliyordum, sadece istediğim şey değil. – Hartix

+0

anwser'ınızı bazı ekran görüntüleri ile düzenleyebiliyorsunuz, böylece tam olarak ne demek istediğimi görebiliyorum (shift + cmd + 4 seçili alanın ekran görüntüsünü almak için) –