2011-09-12 5 views
3

나는 CCSprite를 사용하여 간단한 텍스처를 보여주는 프로젝트를 만들었습니다.CCSprite의 노이즈

그러나 텍스처에 약간의 노이즈 (검은 색 픽셀 버그)가 있음을 발견했습니다.

코드를 사용하여 png 파일을 작은 조각으로 나눴습니다. 그리고 메인 뷰에 추가하십시오.

모두에 잡음이있는 것은 아니지만 일부는 잡음이 있습니다.

이유를 알 수 없습니다.

의견을 보내주십시오.

CCSprite *sprite = [[CCSprite spriteWithFile:[NSString stringWithUTF8String:name] rect:CGRectMake(startx, starty, w, h)] retain]; 

float drawX = x, drawY = y; 

CGSize size = [sprite contentSize]; 

int nWidth = size.width; 

int nHeight = size.height; 

nWidth *= scale; 

nHeight *= scale; 

drawX = drawX + nWidth/2; 

drawY = drawY - nHeight/2; 

ConvertCoordf(&drawX, &drawY); 

drawY -= nHeight; 

[sprite setScale:scale]; 

[sprite setPosition:ccp(drawX, drawY)]; 

[_mainLayer addChild:sprite]; 

[sprite release];  
+2

이 문제의 해결 방법은 TexturePacker를 사용하는 것입니다. – LearnCocos2D

+0

PNG를 게시 할 수 있습니까? 나는 이것을 약간 테스트하고 싶다. 이것은 이미지 인코딩이나 현재의 OpenGL 텍스쳐 컨텍스트에서 문제가 될 수있다 ... –

답변

0

모든 이미지에 대해 주위에 약간의 노이즈 픽셀이 있습니다 (단 1 픽셀). 예를 들어 30px * 30px 이미지를 포함하려는 경우 31px * 31px 이미지로 만들고 이미지를 중간에 배치하는 것이 좋습니다. 즉, 이미지를 1px로 묶습니다.