奇葩问题:cocostudio导出全部大图程序没有问题,导出使用大图程序里面一个图显示成黑色
这两个文件的plist只有图片的排序方式不一样。
会把蓝色圆圈渲染成黑色的矩形。。。。
使用了setTextureRect的问题吧
m_pLoadingLight->setTextureRect(tempRect);
奇葩问题:cocostudio导出全部大图程序没有问题,导出使用大图程序里面一个图显示成黑色
这两个文件的plist只有图片的排序方式不一样。
会把蓝色圆圈渲染成黑色的矩形。。。。
使用了setTextureRect的问题吧
m_pLoadingLight->setTextureRect(tempRect);
同样的代码 没有变过。 就是因为导出的方式不一样就出现了不同的问题
不要裁剪,单独加载图片有没有问题。
你的Studio、2d-x版本多少
原来是合成图之后的问题!!!
setTextureRect使用的是整个纹理区域 如果图变了坐标没变 那就会出问题!!!
我知道什么问题了 imageview的setextureRect有问题。如果是单图的话没有问题,在合成图片的最坐上方也没有问题,但是合成图其他地方就有问题了。
imageview强转到sprite后的setextureRect应该带 image在纹理中的rect的位置,以做偏移处理。
现在不改引擎可以这么改
Rect rectBlueLoading = XMLoadSpriteFrame(“loading_bluejindutiao.png”)->getRect();
Rect tempRect = m_stPercentRect;
tempRect.origin.x +=rectBlueLoading.origin.x;
tempRect.origin.y += height+rectBlueLoading.origin.y;
m_pLoadingLight->setTextureRect(tempRect);
— Begin quote from ____
引用第5楼wct511@126.com于2014-12-03 20:27发表的 回 3楼(东扬冬阳) 的帖子 :
我知道什么问题了 imageview的setextureRect有问题。如果是单图的话没有问题,在合成图片的最坐上方也没有问题,但是合成图其他地方就有问题了。
imageview强转到sprite后的setextureRect应该带 image在纹理中的rect的位置,以做偏移处理。
现在不改引擎可以这么改
… http://www.cocoachina.com/bbs/job.php?action=topost&tid=273352&pid=1189416
— End quote
应该是这样。
经验之谈:凡是要使用setTextureRect的CCSprite(比如自己写的进度条),资源图片一定要独立出来,不能用打包工具打包成plist和png