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的數據");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM