本文简单介绍如何将Unity Tiny项目适配微信小游戏,目前适配还不完全,仅供参考,谨慎使用。Unity版本为2018.3.0f2,Tiny版本为0.13.4-preview,微信开发者工具版本为1.02.1811290
下面以官方例子MatchThree作为适配对象
1. 构建Release版本
在Unity编辑器中找到项目文件(.utproject),选中后在右侧界面中可以看到项目设置,将Build Configuration设置为Release,然后点击Build按钮进行构建
2. 拷贝Tiny到微信小游戏项目中
打开Unity项目文件夹,找到"TinyExport/[项目名字]/html5/release"文件夹,将game.js拷贝到微信小游戏项目中的js文件夹下,因为和原有文件重名,所以将其重命名为tiny.js文件
![](https://img.haomeiwen.com/i15211024/dc4b40147ab512b8.png)
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;
这样就可以看到游戏运行了
![](https://img.haomeiwen.com/i15211024/fa0c4f8a4582cf59.png)
4. 总结
目前音效和NativeFont文本(在Tiny官方的Galaxy Rider项目中使用)尚未适配,如果有需要再加上
网友评论