美文网首页程序员
Unity Tiny 适配微信小游戏(Unity 2018.3.

Unity Tiny 适配微信小游戏(Unity 2018.3.

作者: 牛顿不相信二段跳 | 来源:发表于2018-12-15 14:11 被阅读10次

本文简单介绍如何将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();

找到下面这段代码

e.setCanvasSize=function(t,n,r){console.log("setCanvasSize",t,n,r?"gl":"2d");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.

    本文链接:https://www.haomeiwen.com/subject/ufcahqtx.html