引擎从3.0升级到4.0后,脚本里tImage = ccui.ImageView:create()创建的控件,加载下载到本地的一张未加密的图片,怎么就显示不出来了,升级前是可以显示的,下面的代码有什么问题吗?
static void setImageViewNoEncrypt(Node* node, std::string path)
{
cocos2d::ui::ImageView * tImg = dynamic_cast<cocos2d::ui::ImageView *>(node);
if (tImg)
{
std::string _filePath = FileUtils::getInstance()->fullPathForFilename(path);
Data data = FileUtils::getInstance()->getDataFromFile(_filePath);
if (!data.isNull())
{
cocos2d::Image * image = new Image();
bool isOK = image->initWithImageData(data.getBytes(), data.getSize());
if (isOK)
{
Texture2D* tRet = new Texture2D();
bool isImage = tRet->initWithImage(image);
if (isImage)
{
Sprite* imageRenderer = static_cast<Sprite*>(tImg->getVirtualRenderer());
imageRenderer->setTexture(tRet);
Rect rect = Rect::ZERO;
rect.size = tRet->getContentSize();
imageRenderer->setTextureRect(rect);
CCSize tSize = imageRenderer->getContentSize();
tImg->updateSizeAndPosition();
}
CC_SAFE_RELEASE(tRet);
}
CC_SAFE_RELEASE(image);
}
}