2013-09-25 19 views
9

Bir oyunda SKShapeNodes kullanarak deneme yapıyorum ve antialiased SKShapeNodes çok bulanık olduğunu bulduk. keskinliği yumuşatma ileAntialiased SKShapeNode'ların bulanıklığını düzeltmek mümkün mü?

image without antialiasing

:

image with antialiasing

merdiven basamağı hatlarında, ancak olmadan azaltmak için SpriteKit içinde SKShapeNodes antialiasing'ini kullanmak için bazı yolu var mı antialiasing olmadan

Yukarıdaki ikinci resimde olduğu gibi çizgileri bulanıklaştırmak?

cevap

5

Hayır — bu, şekil düğümünde “antialiasing” ifadesinin neye benzediğini gösterir. multisampling gibi daha fazla bir şey görmeyi bekliyor olabilirsiniz, ancak SpriteKit'in burada yaptığı bu değil. Aradığınız bulanık olmayan çizgileri elde etmek için, şekillerinizi bir görüntüye çizmeniz ve ardından bunu bir SKNode'da görüntülemeniz gerekir. API üzerinde filing an enhancement request'u da düşünebilirsiniz.

0

Bu güzel bir çözüm değildir, ancak işe yarar: Daha büyük bir SKShapeNode oluşturun ve ölçeklendirin.

Normal:

let shape = SKShapeNode(circleOfRadius: 10) 

Ölçekli: çocuklar gibi SKNodes eklerken Sinir bozucu, sorunlarına neden olabileceğinden,

let scaleFactor: CGFloat = 2 
let shape = SKShapeNode(circleOfRadius: 10 * scaleFactor) 
shape.xScale = 1/scaleFactor 
shape.yScale = 1/scaleFactor 

Bu çok daha az bulanık görünür kılmasıdır yapar, amauyarılmalıdır çünkü onlar Yinelenen ölçeklendirilebilir ve beklediğinizden daha küçük olabilir.