http://www.7klian.com

如何将Unity Engine + MetaMask钱包毗连起来

  web3 = new Web3(window.ethereum);
    var buffer = _malloc(bufferSize);

} else {

选择Button并Add Component。建设一个新剧本。在此示例中,剧本称为GetWalletAddress.cs

using System.Collections.Generic;

    // get wallet address and display it on the button

  // text in the button
// GetWalletAddress.cs
2、在TemplateData / web3Connect.js下,剧本为
此刻它已经毗连好了,让我们操作这些数据。这个例子将显示游戏中的web3钱包地点。

1、在Web3Template内部的index.html中,我们正在导入剧本
建设另一个名为web3.jslib的文件。

Unity游戏自动毗连Metamask钱包(或任何web3钱包)的操纵。

Data</a>/web3Connect.js”><script/></div>
{

// web3.jslib
建设新项目

在游戏中显示地点
  alert(“Non-Ethereum browser detected. Please connect to a wallet”);
if (window.ethereum) {

在项目标“Assets”下,建设一个名为WebGLTemplates的文件夹。

将WebGL模板变动为我们之前添加的Web3Template。

最终功效应该是:

粘贴代码获取walletaddress.cs
变动player配置
  public Text ButtonText;
接下来,下载现有的WebGL模板或利用下面的模板。有关更多信息,请拜见《 Unity手册》。将模板移至WebGLTemplates
  public void OnClick()
using UnityEngine.UI;
using System.Collections;
简而言之,此模板说:加载网页后,毗连到Web3钱包。
mergeInto(LibraryManager.library, {
}
4. 在游戏中显示MetaMask地点。

要举办验证,,请再次构建并运行一次。

单击按钮应显示一个地点

    ButtonText.text = WalletAddress();
  },
变动播放器配置
  WalletAddress: function () {

在本文中,您将涉及到的内容:
});
public class GetWalletAddress : MonoBehaviour
  // use WalletAddress function from web3.jslib
  }

这将为更巨大的交互(譬喻获取ERC-721数据以显示游戏内物品)奠基基本。

    var returnStr = web3.currentProvider.selectedAddress;

  [DllImport(“__Internal”)] private static extern string WalletAddress();

有两个配置:

Switch Platform到WebGL,完成后转到player配置…

此刻代码已完成,将所有内容毗连在一起。将Button工具拖到On Click()处理惩罚函数中,然后选择我们建设的OnClick()函数。

    var bufferSize = lengthBytesUTF8(returnStr) + 1;
  {
Right Click > UI > Button

using System.Runtime.InteropServices;
using UnityEngine;
    return buffer;

要测试MetaMask毗连,Build and Run

// use web3.jslib
    stringToUTF8(returnStr, buffer, bufferSize);
}
将Text拖到“Button Text”剧本中。

Web3 WebGL模板
2. 变动web3模板的player配置
    // get address from metamask
3. 将您的Unity游戏与MetaMask毗连
在您的Unity项目中,File > Build Settings…

1. 建设一个web3 WebGL模板
  // connect popup

将代码粘贴到web3.jslib中。
  ethereum.enable();

应该有一个毗连提示

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读