日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cocos2d-x 3.17.2 调用cocos studio发布的csb文件,遇到按钮图片显示不正常问题

發(fā)布時(shí)間:2023/12/18 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cocos2d-x 3.17.2 调用cocos studio发布的csb文件,遇到按钮图片显示不正常问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

由于代碼開發(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ì)顯示不正常,如:

button->loadTextures("res/1.png","res/2.png","res/3.png",ui::Widget::TextureResType::LOCAL);

這時(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初始化位置加入:

mSpriteFrame = SpriteFrameCache::getInstance(); mSpriteFrame->addSpriteFramesWithFile("res/image.plist");

在析構(gòu)位置加入:

mSpriteFrame->destroyInstance();

在要使用圖片的位置加入:
ui::Widget::TextureResType::PLIST 表示從精靈框架中根據(jù)文件名讀取

button->loadTextures("1.png", "2.png", "3.png", ui::Widget::TextureResType::PLIST);

這樣操作就能正常的動(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。