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