Unity与IOS交互

Posted 飞羽孟德

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity与IOS交互相关的知识,希望对你有一定的参考价值。

转自:http://www.cnblogs.com/alongu3d/p/3674174.html

 环境:Mac os 10.9.2  Unity 4.2.1f4   Xcode 5.0.2

            Unity ios的交互我写过一个教程,当时我用的是Unity4.0,和现在的版本不太一样了!

            链接是http://www.cnblogs.com/alongu3d/p/3279277.html

            1.首先在unity的脚本中定义如下

                

                 其中,CallU3D是静态方法,供unity3d调用的!

               2.导出ios工程

                  

                 刚才我们在unity3d中定义的方法CallIOS,在IOS的工程目录中的RegisterMonoModules.cpp中会有CallIOS()这个方法的!

                 如果这儿没有显示我们在unity3d中定义的方法,那么很可能是这儿写错了[DllImport("__Internal")]注意是两个下划线

                 大家仔细看  CallIOS()方法的上面一句注释  !TARGET_IPHONE_SIMULATOR非模拟器,必须在真机下运行,才能调用IOS中自定义写的方法!

                 3.实现CallIOS方法

                   

复制代码
extern "C"
{
    //在点击unity中按钮的时候,会调用这个方法,并且弹出一个窗体
    void    CallIOS()
    {
        CustomViewController* myview=[[CustomViewController alloc]init];
        [_mainDisplay->window  addSubview:myview.view];
    }
}
复制代码

 这个方法我写在了UnityAppController.mm方法中,_mainDisplay->window是静态的,可以在这儿添加视图!

                4.unity中调用ios的方法

                   

-(IBAction)clickbutton:(id)sender
{
    //参数1 在unity中层次列表中的物体 参数2 Cube物体上的脚本的Rot方法  参数3 是参数
    UnitySendMessage("Cube", "Rot", "");
}

            在点击视图上的按钮的时候,给unity发送消息,第一个参数是unity中层次视图中的物体,第二个参数是unity中层次视图中的物体所携带的脚本的

 Rot方法,第三个参数是 Rot方法的参数!

                

              5.下一篇说一下如何用ios账号发布真机并且测试!

以上是关于Unity与IOS交互的主要内容,如果未能解决你的问题,请参考以下文章

[脚本] iOS 与unity交互 ,陀螺仪

[脚本] iOS 与unity交互 ,陀螺仪

Unity与IOS交互

Unity与IOS⭐最基础的交互演示

unity 与oc交互

Unity3D与iOS的交互