Unity から WeChat へのミニゲームは JS とやり取りします

WeChat ミニゲーム JS インタラクション モード:

WeChat ミニゲームの仕組みに問題があり、WeChat ミニゲームに Index.html が読み込まれないため、index.html に記述された関数が呼び出されません。

1.calljs.js自分で作成したファイルに定義を追加すると、ファイルはコンパイルされるたびに上書きされます

export const CallJS={
  test:function(){
    console.log("test");
  }
}

2.game.js導入

import './weapp-adapter'
import unityNamespace from './unity-namespace'
import './webgl.wasm.framework.unityweb'
import "./unity-sdk/index.js"
import checkVersion, {canUseCoverview} from './check-version'
import "texture-config.js";
import {launchEventType} from './plugin-config'
import {CallJS} from './calljs' // 引入自定义JS调用代码

GameGlobal32行目の下のオブジェクトに取り付けられています

GameGlobal.managerConfig = managerConfig;
GameGlobal.CallJS = CallJS; // 挂载

3. コールケース、ミニゲーム側は実装不要、Unityのグルーレイヤーで定義

Unity のカスタム グルー レイヤー コードは次webgl.wasm.framework.unityweb.jsのようにコンパイルされます。

ここに画像の説明を挿入

ボタンをクリックして、 Unity の接着層を介して_Buy関数を呼び出します

ここに画像の説明を挿入

WebGL の JS インタラクション メソッド:

1. WeChat ミニゲームと同じインポート方法を使用し、自分でオブジェクトを定義GameGlobalしてマウントし、ミニゲームと同じ定義方法を維持します。CallJSグルー層で一様に呼ばれ、区別はありません。

ここに画像の説明を挿入
ここに画像の説明を挿入

Calljs 更新方法の提案:

index.html や game.js をいちいち修正せずに、calljs をテンプレートとして Unity で使用することをお勧めします。calljs.js ファイルを置き換えるだけです。
WebGL テンプレートの修正WXTemplateまたはWXTemplate2020
ミニゲーム テンプレートの修正WX-WASM-SDK\wechat-default

おすすめ

転載: blog.csdn.net/qq_17515481/article/details/125968278