我想为Unity创建一个android插件。我使用eclipse创建插件。我在eclipse android项目中有一个桥类。
Bridge Class:
public class Bridge {
//public static Mat mRgb = new Mat(new Size(10,10), CvType.CV_8UC3 );
public static int ReturnInt()
{/*
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 10; j++) {
double values[] = new double[3];
values[0] = 10;
values[1] = 10;
values[2] = 10;
mRgb.put(i, j, values);
}
}
double[] temp = new double[3];
mRgb.get(5, 5,temp);*/
return 15;//(int)temp[0];
}
我在eclipse项目的bin
文件夹下复制jar文件,粘贴到Assets/Plugins/Android
下面。我在下面使用这个jar文件统一:
public class BridgeForAndroid : MonoBehaviour {
#if UNITY_ANDROID
//&& !UNITY_EDITOR
public static int ReturnInt () {
AndroidJavaClass ajc = new AndroidJavaClass("com.tutorial.pluginforunity.Bridge");
return ajc.CallStatic<int>("ReturnInt") ;
}
#endif
}
另一个.cs
文件:
private GUIContent content = new GUIContent ();
void Start()
{
content.text = "Write here";
}
public void OnGUI()
{
GUI.Label(new Rect(0,0,Screen.width,Screen.height/20),content);
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Escape)) { Application.Quit(); }
#if UNITY_ANDROID
content.text = "Return = " + BridgeForAndroid.ReturnInt();
#endif
}
当我建立&amp;在Android设备上运行这个统一应用程序,应用程序正常工作。但是当我在eclipse项目中使用OpenCV函数时,应用程序不会返回图像值。我在屏幕上只看到write here
。
如何在android插件中使用opencv函数进行统一?
ADDITION
包含opencv的Java代码:
public class Bridge {
public static Mat mRgb = new Mat(new Size(10,10), CvType.CV_8UC3 );
public static int ReturnInt()
{
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 10; j++) {
double values[] = new double[3];
values[0] = 10;
values[1] = 10;
values[2] = 10;
mRgb.put(i, j, values);
}
}
double[] temp = new double[3];
mRgb.get(5, 5,temp);
return (int)temp[0];
}