javascript - EntryPointNotFoundException 外部 JS 库错误

标签 javascript c# unity-game-engine

尝试用我的 C# 代码实现 JS 库。 非常简单,但我收到此错误:

EntryPointNotFoundException: Test TalkDB.Start () (at Assets/Scripts/TalkDB.cs:30)

C#代码位于plugins/webgl的scripts文件夹和JS库中,扩展名为.jslib。 另请阅读这篇文章,但不知道我错过了什么:https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html?_ga=1.27144893.1658401563.1487328483

C# 代码:

public class TalkDB : MonoBehaviour
{
    [DllImport("__Internal")]
    private static extern void Test();

    void Start()
    {

        Test();

    }
}

JS 库:

var HighscorePlugin = {
    Test: function()
    {
        window.alert("Testing 1, 2, 3,...");
    }
};

mergeInto(LibraryManager.library, HighscorePlugin);

最佳答案

找到答案了,其实很简单。 我在本地运行时不起作用,仅在从服务器运行时起作用。 为了防止出现此错误,应该这样做:

#if UNITY_WEBGL && !UNITY_EDITOR

[DllImport("__Internal")] 私有(private)静态外部无效测试(); #其他

//其他东西来模拟你想做的事情

#endif

并且在调用函数时也执行此操作。 快乐的编程:)

关于javascript - EntryPointNotFoundException 外部 JS 库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43004199/

相关文章:

c# - 正则表达式提取多个句子,同时丢弃特定句子

c# - ToolsVersion 和 TargetFrameworkVersion 之间的区别

java - 没有启动画面,游戏无法加载,只是黑屏?

unity-game-engine - 敌人逻辑错误

javascript - Angular 1.5.x - 嵌套组件的问题

javascript - 单击标签时,复选框 'change' 事件起作用。在 ie8, ie7 中

c# - 关闭或删除处于打开模式的文件

javascript - 如何仅在 Angular 中发出 $http 请求后才运行 javascript 函数?

javascript - Threejs 多重网格动画

variables - 从其他脚本访问变量