Cocos2d-x HD 遊戲在iPad 2上的閃屏修復

 這裏有2個例子。(作者可能會在下一個版本修復這些bug)
《夢幻連連看2 HD》
http://itunes.apple.com/app/link-link-2-hd/id439611994?mt=8,
《漁場危機 HD》
http://itunes.apple.com/app/fisheriescrisis/id440999336?mt=8
根據cocos2d-iphone的帖子”cocos2d and iPad 2” http://www.cocos2d-iphone.org/archives/1430 , cocos2d-x 遊戲也有同樣的問題,RicardoQuesada相信這是iPad2上的bug,並不是cocos2d引起的。
在默認設置裏,cocos2d-x 使用一個帶有深度緩衝區的3D投射,在 CCDirector::setGLDefaultValues() 函數裏
voidCCDirector::setGLDefaultValues(void)
{
// 這個方法當且僅當在openGLView_ 初始化後被調用
assert(m_pobOpenGLView);
setAlphaBlending(true);
setDepthTest(true);
setProjection(m_eProjection);
// m_eProjection 在CCDirector::init()裏設置爲kCCDirectorProjectionDefault,同時
// kCCDirectorProjectionDefault 在CCDirector.h裏設置爲kCCDirectorProject3D
// …
}
因此對於iPad 2遊戲,不要忘記調用
// 解決方法 A:關閉深度檢測
CCDirector::sharedDirector()->setDepthTest(false);
或者
// 解決方法B:使用2D投射
CCDirector::sharedDirector()->setProjection(kCCDirectorProjection2D);
選任意一個都行。修改之後,請重新測試一下你的整個遊戲。setDepthTest 可能會影響到一些效果,轉換以及瓦片地圖z軸上的行爲。
發佈了26 篇原創文章 · 獲贊 3 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章