Unity3d和iOS、Android的混合开发介绍
一、Android平台:
1、android调用Unity3d:
继承:public class MainActivity extends UnityPlayerActivity
调用统一方式:UnityPlayer.UnitySendMessage("GameObject", "ShowText", “参数”);
2、Unity3d调用android:
public void MyShowDialog()
{
// Android的Java接口
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
// 参数
string[] mObject = new string[2];
mObject[0] = "数据0";
mObject[1] = "数据1";
// 调用方法
string ret = jo.Call<string>("ShowText", mObject);
}
二、iOS平台:
1、iOS调用Unity3d:
继承:Unity3D环境下在Asset目录下建mm类通过Unity3d编译导出iOS工程后编写自己的MyMainViewController,
eg:mm为:U3DAppControllerView::UnityAppController,h和mm文件内容如下:
@property (nonatomic,strong)UINavigationController *navc;
-(void)createUI;
@end
-(void)createUI{
_rootController = [[UIViewController alloc]init];
_rootView = [[UIView alloc]initWithFrame:[UIScreenmain Screen].bounds];
_rootController.view =_rootView;
MyMainViewController *vc = [[MyMainViewController alloc]init];
self.navc = [[UINavigationController alloc]initWithRootViewController:vc];
[_rootView addSubview:self.navc.view];
_window.rootViewController =_rootController;
[_window bringSubviewToFront:_rootView];
[_window makeKeyAndVisible];
}
@end
IMPL_APP_CONTROLLER_SUBCLASS(U3DAppControllerView)
调用:UnitySendMessage("iOSSendMessageToUnity", "moveGameObject", "");
其中: //参数1 场景中模型的名字
//参数2 脚本名称方法
//参数3 想unity传递一个char类型的数据
2、Unity3d调用iOS:
Unity3D工程中新建脚本: public class UnitySendMessageToiOS : object {
//导出按钮以后将在xcode项目中生成这个按钮的注册
//iOS中的注册格式
[DllImport("__Internal")]
private static extern void _moveSceneXBtn();
public static void moveSceneIniOS(){
if (Application.platform != RuntimePlatform.OSXEditor) {
_moveSceneXBtn ();
}
}
}
调用: UnitySendMessageToiOS.moveSceneIniOS();
更多相关文章
- android横竖屏总结
- 对比onSaveInstanceState和onRestoreInstanceState
- android-2.2以下杀进程方法:restartPackage();
- android 创建动态View
- Android开机自动启动服务
- cocos2dx 调用java层代码
- Unity和Android通信系列文章1——总览
- ❤️【Android精进之路-04】Android核心组件Activity(Activity的生
- 分享Android(安卓)KTX + Kotlin协程 组合使用