2012-07-01 89 views
1

當我的CCSprite(使用16x16圖像)被放大時,會出現很多模糊現象。放大Cocos2D中的像素藝術會導致模糊 - iPhone

此圖像是像素藝術,因此意味着像素化,但沒有模糊。

我試着在精靈的紋理上運行方法setAntiAliasTexParameters,但它不會改變任何東西。

下面是代碼:(mainSprite是CCSprite和滑件是CCTexture2D)

slide1 = [[CCTexture2D alloc] initWithImage:[UIImage imageNamed:@"slide1.png"]]; 
[slide1 setAntiAliasTexParameters]; 

[mainSprite setTexture:slide1]; 

謝謝,任何幫助表示讚賞!

回答

1

你應該使用這樣的:

[slide1 setAliasTexParameters]; 

這不會告訴你的精靈抗混疊,保留了像素化的外觀

(使用了cocos2d 2.0 - 不知道,如果這個工程中以前的版本)

1

您的圖片太小,無法放大......簡單。如果你不想模糊一個更大的圖像並使用它。

建議您在做某事時使用1:1的比例圖像(除非它是可縮放的圖像,如單一顏色或兩種顏色,或一條線或類似的東西)。如果你有一個圖標,你想擴展它..忘記它..只是做一個更大的圖標,並在必要時縮小。

+0

圖像是簡單的像素藝術,但是當放大不是在單個像素中,而是它們一起模糊 – mishajw126

+0

那麼你的問題是ccBlendFunc。嘗試做類似下面的事情:'[yoursprite setBlendFunc:(ccBlendFunc) {GL_ONE,GL_ZERO}]' – skytz

+0

謝謝你的建議,但似乎沒有任何區別。 – mishajw126

2

一般來說,最好使用更高分辨率的圖像和SCALE DOWN。例如,如果您打算使用一張圖像,那麼圖像將會像32x32一樣大。然後使用32x32圖像,當您需要16x16分辨率時,將其縮小到該尺寸。