CocosCreator的Sprite的更换

先上图,左侧是运行的效果,

cc.Class({
    extends: cc.Component,

/*
*  cocos creator动态更换纹理
*方法一,预先在编辑器里设置好所有的纹理,绑定到对应的脚本。
 替换的时候只需要将目标的spriteFrame=source.spriteFrame即可。
 把图片拖到编辑器中 , 把编辑器中的图片与数组绑定
        // 方法1
        this.spr.spriteFrame = this.sprArray[this.imgIdx-1].spriteFrame
        // 方法2
        // var s = "resources/candy_0" + this.imgIdx + ".png"
        // this.spr.spriteFrame = new cc.SpriteFrame(cc.url.raw(s))
    }
    第2种办法不需要预先把图片放到编辑器中,办法更灵活。推荐使用
注:利用第二种方法,是需要把资源放到resources目录下面的,否则无法找到。 
*
*/

    properties: {
        //创建一个数组,创建当前的要替换纹理索引
        sprArray:{
            default:[],
            type:[cc.Sprite]
        },
        changeSprite:{
            default:null,
            type:cc.Sprite
        }
    },
    start:function () {
        //this.changeSprite.spriteFrame=this.sprArray[0].spriteFrame;//选取Sprite数组里的第一个图片元素
     //第一种方法,似乎有误,正在努力修改中....
var s="resources/home"+".png"; this.changeSprite.spriteFrame=new cc.SpriteFrame(cc.url.raw(s)); } , omLoad:function(){ }, // update (dt) {}, });
原文地址:https://www.cnblogs.com/allyh/p/9521049.html