c# - 从 Android 调用 C# Unity 脚本

标签 c# android unity3d

我一直在尝试通过我的 Android 应用程序使用我的 Unity C# 脚本进行通信 "UnityPlayer.UnitySendMessage("Cube", "Test","HELLO") - 其中“Cube”是我的 Unity 对象,“Test”是它正在使用的 C# 脚本中存在的方法的名称,“HELLO”是我要传递的消息字符串。

这一行放在我的 onClick 函数中,像这样:

      ImageButton right_button = (ImageButton) findViewById(R.id.right_arrow);
      right_button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            UnityPlayer.UnitySendMessage("Cube", "Test","HELLO");
       }
      });

但是当我运行我的 android 应用程序并单击此按钮时,我收到此错误:

    09-11 14:22:37.526: E/AndroidRuntime(1330): java.lang.NoClassDefFoundError:         com.unity3d.player.UnityPlayer

我还在构建路径中包含了 classes.jar。 我还遗漏了什么吗?

提前致谢!

最佳答案

检查 class.jar 文件是否在您项目的构建路径中。如果是,检查它是否被选中(复选框被标记)。

Tip: if you get ClassDefNotFound runtime errors (or similar), you might need to perform this extra step:

go to Project > Properties > Java Build Path -> Order and Export tab and check (tick) the classes.jar, Android x.y and Android Dependencies items; then Apply and rebuild the probject.

关于c# - 从 Android 调用 C# Unity 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18744642/

相关文章:

c# - 简化类道路系统的碰撞网格?

c# - C# 中包含 CRLF 的正则表达式匹配字符串

android - 在 Android 应用程序中设置/缩放图像大小

android - 在 Android 上备份/恢复应用程序数据库和设置

c# - 如何播放特定 child 的音频?

c# - C# 中的列表切片

c# - 使用 LINQ-to-SQL 从事务内部回滚存储过程调用?

java - 将 RealmObjectChangeListener 添加到异步下载的 RealmObject

c# - 将按钮添加到 Unity3d 编辑器

c# - 条件检查后 Unity 中的协程功能异常