从Android调用C#Unity脚本

时间:2013-09-11 14:57:12

标签: c# android unity3d

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

这一行放在我的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。 还有什么我错过了吗?

提前致谢!

2 个答案:

答案 0 :(得分:0)

检查class.jar文件是否在Project的Build Path中。如果是,请检查是否已选中(复选框已标记)。

  

提示:如果您收到ClassDefNotFound运行时错误(或类似错误),则可能需要执行以下额外步骤:

     

转到Project>属性> Java构建路径 - >订单和导出选项卡并检查(勾选)classes.jar,Android x.y和Android依赖项;然后应用并重建probject。

答案 1 :(得分:0)

另一次发生在我身上。 我清理,重新链接和重建我的eclipse项目。将我的jar文件重新导出到unity并重启Unity。再次构建,错误消失。