問題描述:在Cocos Creator中導(dǎo)入已經(jīng)繪制好的地圖(tmx、tsx、png文件),預(yù)覽和運(yùn)行過程中,發(fā)現(xiàn)每個(gè)地圖塊拼接的連接處過渡的不自然,經(jīng)過放大發(fā)現(xiàn),地圖塊的上下左右各少了半個(gè)像素(0.5像素)。
下圖分別是在TiledMapEditor和Cocos Creator中的顯示效果??梢钥吹?,像素為16x16的地圖塊在TiledMapEditor中拼接時(shí),顯示效果正常。而導(dǎo)入至Creator中時(shí),卻變成了15x15像素,上下左右各丟失了半個(gè)像素(其實(shí)際占位大小依然是16x16)。

左:TiledMapEditor ? ? ? 右:Cocos Creator
解決過程:修改Creator引擎代碼,前往以下路徑(該路徑為macos下的路徑,windows用戶可自行參考查找),用Sublime Text等編輯器打開該js文件。
/Applications/CocosCreator.app/Contents/Resources/engine/bin/cocos2d-js-for-preview.js
搜索FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX,并將其更改為false。

更改為false
再將Creator重新啟動(dòng)即可解決。
修改原理:在Creator的論壇中了解到,該變量FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX用作于消除拼接時(shí)產(chǎn)生的黑色線條。如果為true,其內(nèi)部會(huì)對(duì)紋理圖切割1像素(即上下左右各減少0.5像素)。

如果為true,texelCorrect會(huì)賦值0.5

texelCorrect會(huì)對(duì)紋理進(jìn)行“切割”處理