微信小程序> 微信小游戏排行榜CocosCreator-两个人玩的微信小游戏-两个人玩的微信小程序

微信小游戏排行榜CocosCreator-两个人玩的微信小游戏-两个人玩的微信小程序

浏览量:5649 时间: 来源:寻找方向的创业狗
1.

上一篇文章介绍了主域和子域的概念,微信小游戏:主域子域,这一篇介绍一下怎样在微信小游戏中制作好友排行榜

创建工程2.

由于开放数据域是一个封闭、独立的JavaScript作用域,所以开发者需要创建两个项目:

主域项目工程(正常的游戏项目)子域项目工程(通过微信API获取用户数据来做排行榜等功能)3.

在我的示例中client是主域工程,children是子域工程,工程目录可以不相关发布设置有几点注意事项

首先,左侧主域中开放数据域代码目录要和右侧子域的游戏名称相同其次,右侧子域的发布路径要在主域发布路径之下,在我的工程中,主域的发布路径是G:B2trunkcodeclientbuild,那么子域的发布路径就要是G:B2trunkcodeclientbuildwechatgame最后要先构建主域,再构建子域,因为构建子域的时候主域目录可能不存在,如果确认主域已经构建过,且只修改了子域的内容,也可以只构建子域工程。如果构建了主域要重新构建子域,因为构建的时候,CocosCreator会把之前的构建目录删除掉。核心代码主域4.

这段代码可以写在你的游戏结算函数中,告诉子域游戏要结算了

if(cc.sys.platformcc.sys.WECHAT_GAME){wx.postMessage({score:this.score,type:"open"});}子域varselfnull;cc.Class({extends:cc.Component,properties:{scroll_view_content:cc.Node,score_num_txt:cc.Label,max_score_notice:cc.Node,scroll_item_prefab:cc.Prefab,root_node:cc.Node,},start(){this.max_score0;if(cc.sys.platformcc.sys.WECHAT_GAME){wx.onMessage(this.on_message_come);wx.getUserCloudStorage({keyList:["max_score"],success:this.get_user_data_success,fail:this.get_user_data_fail,});wx.getFriendCloudStorage({keyList:["max_score"],success:this.get_friend_data_success,fail:this.get_friend_data_fail,});}this.root_node.activefalse;this.cached_scroll_item[];this.cached_data{};selfthis;},on_message_come:function(data){if(data["type"]"open"){varscoredata["score"];self.refresh(score);if(scoreself.max_score){wx.setUserCloudStorage({KVDataList:[{key:"max_score",value:score.toString()}],success:self.set_data_success,fail:self.set_data_fail,});wx.getFriendCloudStorage({keyList:["max_score"],success:self.get_friend_data_success,fail:self.get_friend_data_fail,});self.max_scorescore;}}},refresh:function(score){this.score_num_txt.stringscore;if(scorethis.max_score){this.max_score_notice.activetrue;}else{this.max_score_notice.activefalse;}varitems_d[];for(varkinthis.cached_data){items_d.push(this.cached_data[k]);}items_d.sort(function(a,b){returnb["max_score"]-a["max_score"];});for(vari0;iitems_d.length;i++){if(ithis.cached_scroll_item.length){this.cached_scroll_item[i].refresh(i,items_d[i]);}else{varnew_nodecc.instantiate(this.scroll_item_prefab);new_node.parentthis.scroll_view_content;varcontrollernew_node.getComponent("RankItemController");controller.refresh(i,items_d[i]);this.cached_scroll_item.push(controller);}}},set_data_success:function(result){console.log(result);},set_data_fail:function(result){console.log(result);},get_user_data_success:function(result){console.log(result);vardataresult["KVDataList"];for(varitemindata){if(data[item]["key"]"max_score"){self.max_scoreparseInt(data[item]["value"]);break;}}},get_user_data_fail:function(result){console.log(result);},get_friend_data_success:function(result){vardataresult["data"];for(varkindata){varfinal_d{};varitem_ddata[k];varkv_listitem_d["KVDataList"]final_d["url"]item_d["avatarUrl"];final_d["nickname"]item_d["nickname"];for(varkvinkv_list){if(kv_list[kv]["key"]"max_score"){final_d["max_score"]parseInt(kv_list[kv]["value"]);break;}}self.cached_data[item_d["openid"]]final_d;}console.log(result);console.log(self.cached_data);},get_friend_data_fail:function(result){console.log(result);}});获取好友数据成功后的数据格式可以参考微信小游戏:主域子域中的介绍各个子域函数的用法也可以参考微信小游戏:主域子域中的介绍5.

下一篇文章将介绍一些微信小游戏中遇到的一些问题及解决方式

6.

1.开发工具:https://www.cocos.com/

7.

推广一下自己做的简单的小游戏创建了一个小游戏交流群,如果过期或者满了或者有问题交流可以加我微信备注“微信小游戏”

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎