2011-09-12 95 views
3

我讓我的項目使用CCSprite顯示簡單的紋理。CCSprite噪聲

但我發現紋理包含一些微小的噪音,黑色像素的bug。

我用代碼將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個像素)。例如,如果要包含30像素* 30像素的圖像,最好將其製作成31像素* 31像素圖像,並將圖像置於其中。換句話說,用1像素圍繞圖像。