1tnet 网络编程:
2与android交互
1unity中新建空项目。
2选择导出android工程。
3用eclipse打开该工程(若已有需要接入的android工程则进行合并),在eclipse中开始写接口。
4接口完成后右键点击src目录Export->Java->JAR file导出jar包,注意只需要导出src目录中的东西就可以了,不要加入其它没用的东西(有第三方插件时可能需要打包插件相关的东西)。
5回到unity,在Project中新建plugins/Android(unity5.x以前版本必须是该目录结构)目录,将上一步导出的jar包放进该目录中(最好再建个bin目录,放到bin中),另外将android项目中的AndroidMainFest.xml也复制到Android下(有第三方插件时res整个目录也需要复制)。
6接下来就可以在unity中自由使用刚做好的android插件吧!
调用安卓接口方式:
1 修改android主activity让其继承UnityPlayerActivity,通过获得的jo调用该activity 中的各种接口
if(GUILayout.Button("test",GUILayout.Height(100)))
{
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
jo.Call("AndroidFunction","teststring");
}
2
在android工程中不修改任何代码,直接在src中新建普通class,供unity调用,unity使用
CallStatic() 调用
if(GUILayout.Button("test",GUILayout.Height(100)))
{
AndroidJavaClass jc = new AndroidJavaClass("com.package.package.YourNewClass");
//或者AndroidJavaObject jo = new AndroidJavaObject("com.package.package.YourNewClass");
jc.CallStatic("AndroidFunction","teststring");
//或者jo.CallStatic("AndroidFunction","teststring");
//方法无论是public还是private都可以调用到,如要调用非static的方法则只能使用jo
}
android回调unity则没啥好说的,只有 UnityPlayer.UnitySendMessage(“TestGameObject”, “Func”, str)
3obj 格式解析
v表示顶点
vn表示法线,可以共用法线
vt表示uv坐标
f表示一个面,比如参数1/4/1,表示顶点索引/UV索引/法线索引
4unity设计模式
订阅者模式
skill系统架构
子类沙盒
备忘录模式
装饰模式
MVC
IOC