关于Unity项目中创建项目遇到的一些问题

1.Unity调用Android的方法默认不是在UI线程执行,所以在Android上写一些页面的重绘的方法,让Unity去调用时,注意要在Android中添加对应的runOnUiThread才可以;

2.Android library中包含资源,此时需要将资源导入到Unity项目中,那么在Android中就不可以直接使用R.id来寻找资源,而是必须通过下面方式:

 1       public static int getLayoutResIDByName(Context context, String name)
 2       {
 3         return context.getResources().getIdentifier(name, "layout", 
 4           context.getPackageName());
 5       }
 6 
 7       public static int getIdResIDByName(Context context, String name) {
 8         return context.getResources().getIdentifier(name, "id", 
 9           context.getPackageName());
10       }
11 
12       public static int getStringResIDByName(Context context, String name) {
13         return context.getResources().getIdentifier(name, "string", 
14           context.getPackageName());
15       }
16 
17       public static int getDrawableResIDByName(Context context, String name) {
18         return context.getResources().getIdentifier(name, "drawable", 
19           context.getPackageName());
20       }

 

3.Android与Unity之间的调用:

(1).Unity调用Java:UnityEngine提供了两个类来分别访问Java的实例对象以及类对象:AndroidJavaObjectAndroidJavaClass,前者表示java.lang.Object或其子类,后者表示java.lang.Class

(2).Java调用Unity:

<1>.通过AndroidJavaProxy进行无感知调用

<2>.通过com.unity3d.player.UnityPlayer.UnitySendMessage方法显式调用

 

posted @ 2016-02-22 22:15  TwoFish  阅读(2801)  评论(0编辑  收藏  举报