您的位置:首页 > 移动开发 > Cocos引擎

cocos studio 加载json文件到场景后重新渲染纹理失败

2017-12-21 15:20 465 查看
如题,由于场景元素多,就用cocos studio搭界面,但是在代码中想对一张图片资源做修改时遇到错误

Sprite* head_warp=(Sprite*)this->created->getChildByTag(10);

进行判断后想修改文理,正常调用setTexture(图片名称)就可以修改文理

例如:head_warp->setTexture("person_head_0.png");

但是这种方法貌似只支持创建的时候就用图片名称创建的才行

后来尝试

Sprite * aa = Sprite::create("person_head_0.png");

head_warp->setTexture(aa->getTexture());

此方法不报错,但是无法修改纹理

考虑到cocos studio会不会根本没有初始化纹理呢

CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("person_head_0.png");

head_warp->createWithTexture(texture);

还是不行。。。

那就用从图片获取纹理后再设置试试

CCTexture2D* texture = CCTextureCache::sharedTextureCache()->addImage("person_head_0.png");

head_warp->setTexture(texture);

依旧失败。。。

简直叫人绝望了,我都想设置这个图片不可见然后重新创一个了-.-!

要不用ImageView试试,这家伙不是还有个loadTexture方法么,不试白不试,毕竟底层代码看得有点头大

获取:ImageView* head_warp=(ImageView*)this->created->getChildByTag(10);

修改:head_warp->loadTexture("person_head_0.png");

居然就这么好了。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐