在使用图片加载的时候,出现屏幕闪烁。

排除后发现是,在加载图片的时候,使用了同步加载图片

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注意大小写。

Logo

这里是一个专注于游戏开发的社区,我们致力于为广大游戏爱好者提供一个良好的学习和交流平台。我们的专区包含了各大流行引擎的技术博文,涵盖了从入门到进阶的各个阶段,无论你是初学者还是资深开发者,都能在这里找到适合自己的内容。除此之外,我们还会不定期举办游戏开发相关的活动,让大家更好地交流互动。加入我们,一起探索游戏开发的奥秘吧!

更多推荐