cocos creator 图片spriteFrame动态加载(屏幕闪烁)
在使用图片加载的时候,出现屏幕闪烁。排除后发现是,在加载图片的时候,使用了同步加载图片。var resUrl = cc.url.raw('globalUI/myHeadFrame.png')var texture = cc.textureCache.addImage(resUrl)node.getComponent(cc.Sprite).spriteFrame.setTextur...
·
在使用图片加载的时候,出现屏幕闪烁。
排除后发现是,在加载图片的时候,使用了同步加载图片。
var resUrl = cc.url.raw('globalUI/myHeadFrame.png')
var texture = cc.textureCache.addImage(resUrl)
node.getComponent(cc.Sprite).spriteFrame.setTexture(texture)
建议修改成异步加载图片
var url = 'globalUI/myHeadFrame.png';
var _this = this;
cc.loader.loadRes(url,cc.SpriteFrame,function(err,spriteFrame)
{
_this.myPlayer.spriteFrame = spriteFrame;
});
拓展:
网络加载图片
var url = "http://192.168.1.120:8080/icon/HeadFrame.png";
cc.loader.load({url: url, type: 'png'}, function(err,img){
var myIcon = new cc.SpriteFrame(img);
self.logo.spriteFrame = myIcon;
});
注意:动态加载的图片资源路径需要创建一个resources文件夹,将图片放置其中,索引的文件路径不要带resources。
否则会带有
spriteFrame.textureLoaded is not a function
这样的错误。
2、异步加载图片 主要是cc.loader.loadRes(uurl,cc.SpriteFrame,funciton(err,spriteframe));
其中的cc.SpriteFrame注意大小写。
这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!
更多推荐
已为社区贡献3条内容
所有评论(0)