cocos creator动态更换纹理

有2种办法。
1 是预先准备好所有的纹理,然后放到编辑器中,绑定到对应的脚本。
替换的时候只需要将目标的spriteFrame=source.spriteFrame即可。

把图片拖到编辑器中
这里写图片描述
创建一个数组,创建当前的要替换纹理索引

 imgIdx : 1,
 sprArray :{
            default:[],
            type:[cc.Sprite],
        },

把编辑器中的图片与数组绑定
这里写图片描述

在编辑器中增加2个按钮,一个减,一个加,当是减的时候向前变,加的时候向后变,把按钮的click事件绑定到脚本中。
添加如下代码

 clickBtn:function(event){
        if(event.target == this.btnl.node){
            this.imgIdx =  --this.imgIdx < 1 ? 5 : this.imgIdx
        }
        else if(event.target == this.btnr.node){
            this.imgIdx = this.imgIdx++ % 5 + 1
        }
        // 方法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种办法不需要预先把图片放到编辑器中,刚刚的代码里面已经贴出来了如何实现,这种办法更灵活。推荐使用。
第2种方法有个问题就是必须把资源放到resources目录下面,不然到不到。

https://www.processon.com/i/568c6ea4e4b0e51d149a085f
这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值