2014-03-04 2 views
0

원 모양의 스프라이트 노드를 만들고 비 망막 버전에서 픽셀을 얻고 있습니다. 나는 스프라이트 노드의 크기를 코드의 어느 곳으로도 바꾸지 않을 것이다. 나는 File>Save For Web>Changing 크기로 50 %로 이동하여 Photoshop에 비 망막 버전을 만들고 있습니다. 각 공은 50x50 PNG입니다.비 망막 SKSpriteNode 텍스처가 픽셀 화되었습니다.

다음은 각 공을 인스턴스화하는 방법입니다.

Ball *ball = [Ball spriteNodeWithImageNamed:@"ball"]; 

공은 SKSpriteNode 서브 클래스입니다. 아래 이미지는 시뮬레이터에서 100 % 스케일로 찍은 것입니다. 비 망막 이미지는 시뮬레이터와 물리적 장치에서 픽셀 화됩니다. 이 애셋을 더 깨끗하게 보이게하려면 어떻게해야합니까?

망막 ("[email protected]) : retina

비 망막 ("ball.png ") nonretina

+0

당신이 pixelated를 찾고 있다고 말하면 실제 자산과 다르게 보입니다. "ball.png"는 "[email protected]"와 어떤 차이가 있습니까? –

+0

망막이 아닌 망막에 망막 색소를 사용하고 원래의 망막이 두 배인 망막 색소를 새로 만들었습니까? – Daniel

+0

"[email protected]"는 50x50 픽셀이고 "ball.png"는 "[email protected]"의 25x25 버전입니다. "ball.png"는 파인더, 포토샵 등에서 픽셀 화되지 않습니다. iPad에서만 (비 망막) 픽셀 화됩니다. –

답변

1

가 참조 된 이미지가이 아마도 원래의 질문에 대답하지 않습니다 정확하게 때문에 50x50이지만 높이와 너비의 비율이 1 : 1이 아닌 이미지의 경우 실제 이미지의 크기를 가져 와서 텍스처를 설정하는 것이 좋습니다.

스위프트에서 이렇게 할 수 있습니다.

let image = imageAsset 
let texture = SKTexture(image: image) 
let factor = 0.5 
let size = CGSize(width: image.size.width * factor, height: image.size.height * factor) 
let node = SKSpriteNode(texture: texture, size: size) 

위의 내용은 이미지의 크기를 50 %로 조정하려는 경우에 사용됩니다. 전체 크기 이미지가 필요한 경우 factor 변수를 사용하지 않고 SKSpriteNode의 크기 매개 변수에 image.size을 사용하면됩니다.

관련 문제