zoukankan      html  css  js  c++  java
  • unity 和 iOS/Android 信息交互(方法调用)

    参考文章均来源于【大神雨松momo】的文章。

    unity -> iOS

    // unity 程序

    usingSystem.Runtime.InteropServices;
    usingUnityEngine;

    namespaceMCFrameWork
    {
        /// <summary>
        ///  unity 调用 iOS
        /// </summary>
        //public class IOSSDK : Signleton<IOSSDK>
        publicstaticclass IOSSDK1
       
    {
            // 注册按钮的点击。在 xcode 中可以实现这个按钮点击后的事件
            [DllImport("__Internal")]
            staticexternvoid_PressButton111();

            publicstaticvoidActivateButton111()
            {

                if(Application.platform!= RuntimePlatform.OSXEditor)
                {
                    ////点击按钮后调用 iOS 中实现的 _PressButton111 ()方法,
                    _PressButton111();
                }
            }
        }
    }

    参考链接:

    https://www.xuanyusong.com/archives/521

    // iOS 程序

    @implementation TestView

    void _PressButton111()

    {

        NSLog(@“unity里点击了按钮~~~");

    }

    @end

    iOS -> unity

    // unity程序 cube111 上的任意?脚本

    publicvoidMoveDown111(stringstr)
    {
        Debug.Log("iOS 喊我啦~"+str);
    }

    参考链接:

    https://www.xuanyusong.com/archives/517

    // iOS 程序

    参数1:场景中的模型名称,Cube111就是我们定义的一个箱子。

    参数2:脚本方法名称methodName111就是上面脚本中的方法,

    参数3:为一个char *类型的可以向Unity中传递数据。

     

    UnitySendMessage(“Cube111”,"methodName111","传给unity。。。");

    unity -> android

    // unity 程序cube111 上的任意?脚本)

    publicvoidCallAndroid(stringstr)
    {
       
    AndroidJavaClass jc=new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject jo=jc.GetStatic<AndroidJavaObject>("currentActivity");
        jo.Call("StartActivity0", "第一个Activity");
    }

    https://www.xuanyusong.com/archives/676

    // android 程序

    publicvoidStartActivity0(Stringstr)

    {

        // 接收到 unity 传来的 str

    }

    android -> unity

    // unity 程序Cube111上的脚本)

    public voidmethodName111(stringstr)

    {

       // 接收到 andorid 传来的 str 

    }

    // android 程序

    import com.unity3d.player.UnityPlayer;

    //参数1表示游戏对象的名称,参数2表示对象绑定的脚本接受该消息的方法名字,参数3表示本条消息发送的字符串信息,这个方法和IOS 发送的方式非常相像

        UnityPlayer.UnitySendMessage(“Cube111”,”methodName111”,"传递给unity的数据");

  • 相关阅读:
    asp.net大文件断点续传
    JS大文件上传解决方案
    B/S大文件上传解决方案
    B/S上传整个文件夹
    网页上传整个文件夹
    POJ 1068 Parencodings
    74LS85 比較器 【数字电路】
    二叉树的建立与先序,后序,中序输出
    Android 学习之 开源项目PullToRefresh的使用
    理解矩阵及谱聚类小记
  • 原文地址:https://www.cnblogs.com/sweetXiaoma/p/9234680.html
Copyright © 2011-2022 走看看