我是Unity的新手,我正在尝试为Android库创建一个Unity插件,我面临以下问题:
1)我找不到将后退按钮事件传递给Android库的方法。我设法做的是通过设置以下行将触摸事件传递到Android端的活动
<meta-data android:name="unityplayer.ForwardNativeEventsToDal vik" android:value="true" />
<activity android:name="com.unity3d.player.UnityPlayerProxyActivity" ... >
AndroidManifest
但是,我不能以我不必更改库中的代码的方式传递后退按钮事件
我现在在剧本中做的是
public void Update() {
if(Input.GetKeyDown(KeyCode.Escape))
Application.Quit();
}
但是我需要选项将我捕获的那个事件传递给库,而不是在Unity层处理它。
2)我试图在我的脚本中引用我在Android库中的枚举。
例如,我在Place.java
文件中有以下枚举
package com.myapp.constants;
public enum Place { TOP, BOTTOM, RIGHT, LEFT }
我希望找到一种从我的脚本中引用它的方法。
我尝试过类似的东西:
AndroidJavaClass topPlace = new AndroidJavaClass("com.myapp.constants.TOP");
但没有运气。
任何人都可以帮助解决这些问题吗?任何帮助表示赞赏...
答案 0 :(得分:3)
2)Java中的枚举是一个常规类,其枚举值是该类的实例,存储在静态字段中。所以为了得到它们,你要做到这一点:
AndroidJavaObject topValue = new AndroidJavaClass("com.myapp.constants.Place").GetStatic<AndroidJavaObject>("TOP");
答案 1 :(得分:0)
很抱歉不得不发表评论作为答案,因为我没有足够的代表评论以前的ans。 您可能想在统一论坛中查看此主题
http://forum.unity3d.com/threads/219950-Call-a-method-in-an-activity-(using-AndroidJavaObject-)
它允许您将信息从Unity传递到Java。希望它有所帮助。