cocos2d-x 3.17.2 调用cocos studio发布的csb文件,遇到按钮图片显示不正常问题
由于代碼開發(fā)UI效率較低,有時(shí)候需要用cocos studio來制作場景,再在C++中調(diào)用
遇到一個(gè)問題被忽略了,添加一個(gè)Button按鈕,在游戲中動(dòng)態(tài)的修改按鈕的圖片
經(jīng)過測試,發(fā)現(xiàn)很多問題
環(huán)境說明:
cocos2d-x版本: ????Cocos2d-x 3.17.2
Android編譯器: ?????Android studio 3.5.3 用的是cmake方式編譯
C++編譯器:???????????Visual studio 2019 社區(qū)版
Java版本:????????????? jdk1.8.0_91
SDK API版本:?????? API 28
NDK版本:?????????????android-ndk-r19c
問題一:
Button按鈕圖片在運(yùn)行時(shí)使用loadTextures動(dòng)態(tài)讀取本地png文件時(shí)會(huì)顯示不正常,如:
這時(shí)候圖片在Windows下不顯示,在Android下顯示都是黑色的,有時(shí)候又能顯示一兩張,其他的不會(huì)顯示
解決方法:
使用精靈框架SpriteFrameCache
先用 TexturePacker 將圖片1.png、2.png、3.png等等打包成一個(gè).ccz + .plist 或 .png + .plist文件
比如我打包的文件為:image.png、image.plist,放在res文件夾下
不懂TexturePacker可以百度一下教程,我的是TexturePacker_3.0.9 破解版
在場景init初始化位置加入:
在析構(gòu)位置加入:
mSpriteFrame->destroyInstance();在要使用圖片的位置加入:
ui::Widget::TextureResType::PLIST 表示從精靈框架中根據(jù)文件名讀取
這樣操作就能正常的動(dòng)態(tài)顯示圖片了
問題二:
在動(dòng)態(tài)的修改Button按鈕后你會(huì)發(fā)現(xiàn)按鈕隨便大小沒有改變,但是圖像卻變得扭曲、變形、顯示不正常
如果動(dòng)態(tài)的圖片比原來的大,按鈕也變大了可以在設(shè)置圖片之后代碼處重新設(shè)置一下大小
這個(gè)問題找了好久,最后發(fā)現(xiàn)原來是cocos studio在作怪,需要把九宮格取消,問題就解決了
總結(jié)
以上是生活随笔為你收集整理的cocos2d-x 3.17.2 调用cocos studio发布的csb文件,遇到按钮图片显示不正常问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 11万多职场文章技巧ACCESS数据库
- 下一篇: 光栅渲染器(二)画线