2012-07-06 109 views
3

我是一個Cocos2d遊戲開發者。我正在開發使用視網膜顯示圖像的遊戲。視網膜顯示圖像看起來模糊和模糊。沒有理由?

我已經使用zwoptex創建了帶和不帶高清後綴的紋理文件。

我在app-delegate[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"Background.plist"]; 我已經啓用了視網膜顯示屏YES[director enableRetinaDisplay:YES];添加這些zwoptex的plist紋理文件。

我已經使用了plist文件從plist無論我想要使用ccsprite *background = [CCSprite spriteWithSpriteFrameName:@"sample.png"];

我所包含的所有這些png文件都是高分辨率圖像,大小分別爲960*640480 * 320。但無論如何,當我在模擬器或iPhone中運行遊戲時,圖像看起來模糊和模糊。請人幫我解決這個問題... ..

(下面的圖片被張貼在評論的例子。)

enter image description here

+0

可能有關? http://stackoverflow.com/questions/7462023/cocos2d-retina-support-not-working-anymore – andrewdotnich 2012-07-06 04:20:16

+0

這與我的問題無關。我已經使用該帖子中給出的相同準則創建了spritesheet。我可以查看視網膜顯示圖像,但看起來模糊和模糊。當我在模擬器或iPhone中運行遊戲時,它不會顯示原始圖像分辨率。當啓用視網膜顯示設置爲「是」或「否」時,僅顯示模糊的圖像作爲輸出。 – Blisskarthik 2012-07-06 04:43:01

+0

確保在調試器中以像素爲單位的精靈大小是您想要的。我的意思是,例如,如果您使用視網膜設備,它的點數爲200x100,像素爲400x200。 – Morion 2012-07-06 08:00:25

回答

1

cocos2d的默認應用抗鋸齒精靈。你需要關閉它:

[background.texture setAliasTexParameters]; 

希望這可以幫助。

+0

感謝您的回覆。我用它,但結果相同。是否有其他解決方案來解決此問題 – Blisskarthik 2012-07-06 05:26:24

+0

這是否僅在視網膜顯示屏上發生? – KDaker 2012-07-06 06:35:59

+0

它只顯示模糊的圖像,無論視網膜顯示是否設置爲yes或no。 – Blisskarthik 2012-07-06 07:31:02

1

您發佈的截圖(我冒昧地將它添加到您的問題中)顯示它是從iPhone模擬器拍攝的,而不是iPhone(視網膜)模擬器拍攝的。因此它不會使用高清圖像。

隨着iPhone模擬器運行轉到硬件 - >設備菜單,並選擇iPhone(視網膜)作爲設備。然後重啓你的應用。

請注意,iPhone模擬器只會呈現顏色深度爲16位的遊戲,無論cocos2d或Mac中的設置如何。由於性能方面的原因,iOS模擬器渲染器僅限於16位渲染(它僅使用軟件渲染,不使用硬件加速)。只有通過在實際設備上查看遊戲,才能對圖像質量做出判斷。

要測試遊戲是否實際加載HD資源或由於某種原因只加載SD圖像,請嘗試在沒有SD圖像的情況下運行它。如果遊戲試圖加載SD圖像,則會導致錯誤。如果沒有,它是加載高清圖像和「模糊問題」有不同的原因。您還可以通過向CCFileUtil類方法fullPathFromRelativePath添加NSLog語句來記錄加載哪些文件,該方法執行文件名更改以儘可能加載-hd圖像。

你會發現即使微量的縮放或旋轉應用於精靈可能讓它看起來模糊,所以檢查你是否碰巧做到這一點。混合模式中的任何更改(使用ccBlendFunc)也可能導致圖像模糊。同時檢查你的圖像是完全不透明的(不透明度= 255)。

+0

感謝您的幫助豬頭...我用攻克的難題[CCTexture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGBA8888] ;.它清除了所有這些模糊的問題。再次感謝給我指導。 – Blisskarthik 2012-07-06 19:13:12