You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何从外部React脚本调用Unity C#类方法?问题已解决

解决WebGL环境下从JS调用Unity脚本函数的SendMessage找不到问题

很多刚上手Unity+C#做WebGL项目的开发者都会碰到这个坑:按照Unity官方WebGL文档里《与浏览器脚本交互 - 从JavaScript调用Unity脚本函数》的说明,我们需要用SendMessage(objectName, methodName, value)来实现浏览器JS向Unity脚本发消息,但找遍window对象都看不到这个方法,而Unity内部GameObject自带的SendMessage又只能在Unity代码里用,外部JS根本调用不了。

其实解决方法很简单:

  • 供外部JS调用的SendMessage方法,是挂载在WebGL构建生成的gameInstance对象上的,你需要通过window.gameInstance来访问它
  • 给你个实际调用的例子:
// 调用Unity场景中名为"Player"的GameObject上的"UpdateScore"方法,传入数值200
window.gameInstance.SendMessage("Player", "UpdateScore", 200);

这样就能顺利从浏览器端触发Unity脚本里的目标函数啦。

内容的提问来源于stack exchange,提问作者Kyle Richardson

火山引擎 最新活动