2010-10-02 424 views
0

我從來沒有見過這個問題,它很奇怪。只是想知道是否有其他人也遇到過。Cocos2D更改精靈中最後一行像素的顏色?

alt text

我添加了一個精靈到我的比賽,它應該是一個盒子的左上角把文本上。我想讓它可擴展而不會丟失任何東西,所以我把它分成了幾部分。在上面的圖像中是圖像本身,然後底部的圖像是在iPhone模擬器中繪製時的圖像。

任何想法爲什麼右側的最後一列像素被更改?我根本沒有縮放圖像。

回答

1

好吧我其實已經明白了這一次。 Cocos2D爲CCTextures添加了一些抗鋸齒功能。要阻止它這樣做,你需要調用這個:

[[mySprite texture] setAliasTexParameters];

來打開它,你把這個:

[mySprite上的紋理] setAntiAliasTexParameters]。

2

我不知道Cocos2D,但總的來說,你在這裏所做的是在一個不是一個像素的精確倍數的位置繪製圖像。

因此,即使沒有縮放,您已經通過與原始圖像數據不一致的網格重新採樣圖像,導致所有像素都有點偏離。這只是右手邊緣是最明顯的情況,因爲重新採樣會在此處留下部分透明度。但是看一下例如邊界中兩排紫色像素:它們不一樣,因爲你的垂直對齊也是關閉的,從它下面的灰色邊框引起少量顏色流入下面一排紫色。

+0

準確地說,今天在演講中聽到了這一點。無論哪種方式,因爲這隻影響模擬器而不影響設備,所以可以忽略這些工件。 – LearnCocos2D 2010-10-03 20:12:27

+0

真的,模擬器本身是否與繪製對象錯位?那會很狡猾! – bobince 2010-10-03 21:18:55