本文简单介绍如何将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项目中使用)尚未适配,如果有需要再加上