白鹭项目微信小游戏部分笔记

一、微信小游戏开发 --- 初次在微信开发者工具里跑Egret小游戏项目

      引擎4.0.3的项目转5.2.3小游戏项目目前遇见的问题,通过上面文档都能解决(可能还可能由于是个小单机游戏涉及面不太广的原因)。
       转是不可能直接转的(直接项目升级是不要想了),所以是新建了一个5.2.3的项目并把4.0.3的代码资源拷了进去。

       简要列举下问题及解决方法(从以上两个文档中摘取及自己遇见的若干):

       1,微信工具提示showAll模式错误;
        在egret项目中修改index.html的适配模式为fixedWidth。
       2,开发者并且使用微信小游戏后台的appid(正式id)后,微信开发工具提示找不到app.json(5.2.3发布的微信小游戏项目里并无该文件)
        在微信小游戏后台的设置->基本设置里,设置小程序的服务类目必须是游戏
       3,使用egret.getDefinitionByName()时找不到类
        需要将要反射的类挂载到 window 对象下,例如有个 class People{} 类,需要添加代码 window[“People”] = People;即

class People{
	
}
window[“People”] = People。

        使用自定义控件时,控件类亦此操作。

       4,包体超过要求的4M

         暂时使用的是部分资源放外部web服务器上,服务器必须有备案

        

await RES.loadConfig("resource/default.res.json", "resource/");
await RES.loadConfig("https://***/**/resource/default11.res.json", "https://***/**/resource/");//加载包外资源配置文件
await this.loadTheme();

        default11.res.json中配置的即为放在web服务器上加载的资源。

        5,若在微信开发工具上成功运行,但在无改变代码情况下待会儿后运行报错,重启工具......

        6,简单显示项目自带的示例排行榜

        白鹭项目微信小游戏部分笔记_第1张图片

        showRank为自定义函数,在项目中调用(方式与getUserInfo相同)

        7、使用发布命令:egret publish --target wxgame,打包后的小游戏项目与

        发布的相比,体积上要小很多

白鹭项目微信小游戏部分笔记_第2张图片

 而且在微信开发工具上打开很快,第二种可能因为俩js文件太大,偶尔需要相对很长时间。

8、返回前台(游戏激活),在游戏项目中主要UI层加监听
 

platform.onShow(this.onshow, this);

微信项目中加
 

onShow(fun, obj) {
      wx.onShow(function () {
        fun.call(obj);
      })
  }

9、排行榜上传数据时(须在通过微信审核后才能配置上报字段),参考

http://forum.cocos.com/t/topic/57106/17
上传时:

/** data[{"key":"newScore","value":"450"}]*/
setUserCloudStorage(data) {
    return new Promise((resolve, reject) => {
      console.log("data" + JSON.stringify(data));
      wx.setUserCloudStorage({
        KVDataList: data,
        success: function(res) {
          console.log(res);
        },
        fail: function(res) {
          console.log(res);
        },
        complete: function(res) {
          console.log(res);
        }
      })
    })
  }


获取列表时(必须在开放数据域,参考:https://developers.weixin.qq.com/minigame/dev/tutorial/open-ability/open-data.html):

wx.getFriendCloudStorage({
        "keyList": ["newScore"],
        success: (data1) => {
          console.log(data1);
        },
        fail: () => {
          console.log("获取列表3失败");
        },
        complete: () => {}
      })

白鹭项目微信小游戏部分笔记_第3张图片
 

待补充;

        注意:微信后台的小游戏项目信息务必完整,避免微信工具调试时不必要的错误。

你可能感兴趣的:(白鹭项目微信小游戏部分笔记)