找回密码
 立即注册

QQ登录

只需一步,快速开始

[Demo源码] 微信小游戏开放数据域的原生实现

  [复制链接]
查看: 4609|回复: 178
最佳答案
0 

5

主题

5

帖子

124

积分

新人求带

积分
124
 楼主| 发表于 2019-1-23 14:40:09 | 显示全部楼层 |阅读模式
微信小游戏开发数据域原生写法示例,提供基本的渲染和滑动指令。

使用方法:将openData目录作为开发数据域目录,根据需要修改数据集合以及Item类的渲染方法。上层调用和渲染参考
  1. /**
  2. * [url=home.php?mod=space&uid=49329]@author[/url] ForeverZi
  3. * [url=home.php?mod=space&uid=5343]@Email[/url] txzm2018@gmail.com
  4. * [url=home.php?mod=space&uid=111683]@create[/url] date 2019-01-21 02:35:36
  5. * @modify date 2019-01-21 02:35:36
  6. * @desc [description]
  7. */
  8. cc.Class({
  9.     extends: cc.Component,

  10.     properties: {
  11.         // 开发数据域绑定的Sprite
  12.         subSceneSprite: cc.Sprite,
  13.         // 触摸区域
  14.         touchArea: cc.Node
  15.     },

  16.     onLoad() {
  17.         const openDataContext = wx.getOpenDataContext();
  18.         const sharedCanvas = openDataContext.canvas;
  19.         sharedCanvas.height = this.subSceneSprite.node.height;
  20.         sharedCanvas.width = this.subSceneSprite.node.width;
  21.         this.touchArea.on(cc.Node.EventType.TOUCH_START, () => {
  22.             wx.postMessage({
  23.                 command: 'TouchBegin'
  24.             });
  25.         });
  26.         this.touchArea.on(cc.Node.EventType.TOUCH_MOVE, (event) => {
  27.             wx.postMessage({
  28.                 command: 'TouchMove',
  29.                 deltaY: event.getLocation().y - event.getStartLocation().y
  30.             });
  31.         });
  32.         this.touchArea.on(cc.Node.EventType.TOUCH_END, () => {
  33.             wx.postMessage({
  34.                 command: 'TouchEnd'
  35.             });
  36.         });
  37.         this.touchArea.on(cc.Node.EventType.TOUCH_CANCEL, ()=>{
  38.             wx.postMessage({
  39.                 command: 'TouchCancel'
  40.             });
  41.         });
  42.     },

  43.     onEnable() {
  44.         wx.postMessage({
  45.             command: 'Init',
  46.         });
  47.     },

  48.     onDisable() {
  49.         wx.postMessage({
  50.             command: 'Hide',
  51.         });
  52.     },

  53.     onDestroy() {
  54.         wx.postMessage({
  55.             command: 'Destroy',
  56.         });
  57.     },

  58.     update() {
  59.         this.drawOpenData();
  60.     },

  61.     drawOpenData() {
  62.         if (!this.tex) {
  63.             this.tex = new cc.Texture2D();
  64.         }
  65.         var openDataContext = wx.getOpenDataContext();
  66.         var sharedCanvas = openDataContext.canvas;
  67.         this.tex.initWithElement(sharedCanvas);
  68.         this.tex.handleLoadedTexture();
  69.         this.openDataSprite.spriteFrame = new cc.SpriteFrame(this.tex);
  70.     },

  71. });
复制代码

opendatarank-master.zip (55.07 KB, 下载次数: 267)
回复

使用道具 举报

最佳答案
0 

0

主题

146

帖子

420

积分

新人求带

积分
420
发表于 2019-1-23 15:02:19 | 显示全部楼层
来学习学习
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

715

帖子

1万

积分

S2

积分
11666
发表于 2019-1-24 09:05:56 | 显示全部楼层
感谢楼主分享,谢谢,谢谢
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

146

帖子

420

积分

新人求带

积分
420
发表于 2019-1-24 11:55:17 | 显示全部楼层

感谢楼主分享,谢谢,谢谢
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

146

帖子

420

积分

新人求带

积分
420
发表于 2019-1-24 11:55:22 | 显示全部楼层

感谢楼主分享,谢谢,谢谢
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

146

帖子

420

积分

新人求带

积分
420
发表于 2019-1-24 11:55:36 | 显示全部楼层

感谢楼主分享,谢谢,谢谢
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

146

帖子

420

积分

新人求带

积分
420
发表于 2019-1-24 11:55:39 | 显示全部楼层

感谢楼主分享,谢谢,谢谢
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

146

帖子

420

积分

新人求带

积分
420
发表于 2019-1-24 11:55:44 | 显示全部楼层

感谢楼主分享,谢谢,谢谢
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

146

帖子

420

积分

新人求带

积分
420
发表于 2019-1-24 11:55:47 | 显示全部楼层

感谢楼主分享,谢谢,谢谢
回复 支持 反对

使用道具 举报

最佳答案
0 

0

主题

146

帖子

420

积分

新人求带

积分
420
发表于 2019-1-24 11:55:51 | 显示全部楼层

感谢楼主分享,谢谢,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



www.henkuai.com—微信开发者的分享交流平台,专注微信开发生态。

天津市滨海新区
中新生态城中成大道生态建设公寓9号楼3层301

微信公众号

广告推广
QQ:805874290

市场合作
zhongcong@henkuai.com