Unity Tiny 适配微信小游戏(Unity 2018.3.0f2)

本文简单介绍如何将Unity Tiny项目适配微信小游戏,目前适配还不完全,仅供参考,谨慎使用。

  • Unity版本 2018.3.0f2
  • Tiny版本 0.13.4-preview
  • 微信开发者工具版本 1.02.1811290

Unity Tiny Match Three

下面以官方例子MatchThree作为适配对象

1. 构建Release版本

在Unity编辑器中找到项目文件(.utproject),选中后在右侧界面中可以看到项目设置,将Build Configuration设置为Release,然后点击Build按钮进行构建

项目设置

2. 拷贝Tiny到微信小游戏项目中

打开Unity项目文件夹,找到"TinyExport/[项目名字]/html5/release"文件夹,将game.js拷贝到微信小游戏项目中的js文件夹下,因为和原有文件重名,所以将其重命名为tiny.js文件


微信小游戏文件夹结构

3. 适配API

打开game.js文件,修改为

import './js/libs/weapp-adapter'
import './js/libs/symbol'

// Fix window.performance.now
((window) => {
  if (typeof window.performance === 'object' && typeof window.performance.now === 'function') {
    const __window_performance_now = window.performance.now;
    window.performance.now = () => {
      return __window_performance_now() * 1000;
    }
  }
})(window || {})

import './js/tiny'

删除tiny.js的下面一行代码(如果需要调试TypeScript代码也可以拷贝game.js.map文件到微信小游戏项目中)

//# sourceMappingURL=game.js.map

在tiny.js末尾添加代码

ut._HTML.main();

找到下面这段代码

var o=e.canvasElement;(o||(o=document.getElementById("UT_CANVAS")),o)&&(r!=("webgl2"==e.canvasMode||"webgl"==e.canvasMode)&&(ut._HTML.freeAllGL&&ut._HTML.freeAllGL(),console.log("Rebuilding canvas for renderer change."),o.parentNode.removeChild(o),o=0));

修改为

var o=canvas;

这样就可以看到游戏运行了


MatchThree in Wechat IDE

4. 总结

目前音效和NativeFont文本(在Tiny官方的Galaxy Rider项目中使用)尚未适配,如果有需要再加上

你可能感兴趣的:(Unity Tiny 适配微信小游戏(Unity 2018.3.0f2))