cocos creator 动态生成图片,改变大小问题

问题由来:
做微信小游戏,需要动态加载微信头像,动态生成图片代码为:

let pic = item.getChildByName('pic');
let sprite = pic.getComponent(cc.Sprite);
cc.loader.load({url:user.avatarUrl,type:'png'},function (err,img) {
sprite.spriteFrame =  new cc.SpriteFrame(img);
});

生成图片后不能,图片大小为微信头像固定大小,不能改变,强制设置宽高也不行

pic.width = 105
pic.height = 105;

后发现解决办法为设置 sizeMode属性为custom
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cocos Creator 是一款基于 JavaScript 的游戏开发工具,支持动态加载资源。动态加载资源是指在游戏运行时,根据需要动态加载游戏所需的资源,例如图片、声音、动画等。 动态加载资源的优点在于可以减少游戏的启动时间和内存占用,同时也可以提高游戏的灵活性和可维护性。下面介绍一下 Cocos Creator 中如何进行动态加载资源。 1. 加载图片资源 使用 cc.loader.loadRes() 方法可以加载项目中的资源,例如图片资源。示例代码如下: ``` cc.loader.loadRes("image/test", cc.SpriteFrame, function (err, spriteFrame) { if (err) { cc.error(err.message || err); return; } var node = new cc.Node("New Sprite"); var sprite = node.addComponent(cc.Sprite); sprite.spriteFrame = spriteFrame; node.parent = cc.director.getScene(); }); ``` 该代码会加载项目中的 "image/test" 路径下的图片资源,并创建一个新的 Sprite 对象,将图片资源赋值给 SpritespriteFrame 属性,最后将 Sprite 对象添加到场景中。 2. 加载声音资源 使用 cc.loader.loadRes() 方法也可以加载声音资源。示例代码如下: ``` cc.loader.loadRes("audio/test", cc.AudioClip, function (err, audioClip) { if (err) { cc.error(err.message || err); return; } cc.audioEngine.play(audioClip, false, 1); }); ``` 该代码会加载项目中的 "audio/test" 路径下的声音资源,并播放该声音。 3. 加载动画资源 使用 cc.loader.loadRes() 方法也可以加载动画资源。示例代码如下: ``` cc.loader.loadRes("animation/test", cc.AnimationClip, function (err, animationClip) { if (err) { cc.error(err.message || err); return; } var node = new cc.Node("New Animation"); var animation = node.addComponent(cc.Animation); animation.addClip(animationClip); animation.play("test"); node.parent = cc.director.getScene(); }); ``` 该代码会加载项目中的 "animation/test" 路径下的动画资源,并创建一个新的 Animation 对象,将动画资源添加到 Animation 中,最后播放名为 "test" 的动画。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值