QQ 玩一玩获取用户图像昵称以及CocosCreator动态加载网络图片

版权声明:本文为博主原创文章,欢迎转载,转载标明出处(http://blog.csdn.net/zyw_java)。微信公众号:javenlife https://blog.csdn.net/zyw_java/article/details/84844799

QQ 玩一玩获取用户图像、昵称以及CocosCreator加载图片的几种方式介绍

1、CocosCreator 加载图片的几种方式

  • CocosCreator 加载网络图片
  • CocosCreator 加载本地图片
//设置显示图片
function setImg(imgNode, spriteFrame) {
    imgNode.getComponent(cc.Sprite).spriteFrame = spriteFrame;
}
//加载网络图片
function loadImgByUrl(imgNode, remoteUrl, imageType) {
    if (!imageType) {
        imageType = "png";
    }
    cc.loader.load({
        url: remoteUrl,
        type: imageType
    }, function (err, texture) {
        if (err) {
            return;
        }
        setImg(imgNode, new cc.SpriteFrame(texture));
    });
}
//加载手机本地图片
function loadLocal(imgNode, absolutePath) {
    cc.loader.load(absolutePath, function (err, texture) {
        if (err) {
            return;
        }
        setImg(imgNode, new cc.SpriteFrame(texture));
    });
}


module.exports = {
    loadImgByUrl: loadImgByUrl,
    loadLocal: loadLocal,
    setImg: setImg,
};

2、QQ 玩一玩通过openId获取用户图像、昵称

 BK.MQQ.Account.getNick(GameStatusInfo.openId, function (openId, nick) {
 	cc.log("nick:"+nick);
 });
getHead() {
        let absolutePath = "GameSandBox://_head/" + GameStatusInfo.openId + ".jpg";
        let isExit = BK.fileSystem.accessSync(absolutePath);
        cc.log(absolutePath + " is exit :" + isExit);
        //如果指定目录中存在此图像就直接显示否则从网络获取
        if (isExit) {
            Utils.loadLocal(this.head, absolutePath);
        } else {
            BK.MQQ.Account.getHeadEx(GameStatusInfo.openId, function (oId, imgPath) {
                cc.log("openId:" + oId + " imgPath:" + imgPath);
                Utils.loadLocal(this.head, imgPath);
            }.bind(this));
        }
    },

3、 源码

CocosCreator开发小游戏示例:Brickengine_Guide

  • QQPlay为旧版本QQ玩一玩示例
  • QQPlay_New为新版本QQ玩一玩示例

到这里就介绍完了,个人能力有限如有错误欢迎指正,如有遗漏欢迎补充。如有疑问欢迎留言一起交流讨论。

没有更多推荐了,返回首页