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項目中使用)尚未適配,如果有需要再加上

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容