在Unity和iOS混合開發(fā)的項目中壹瘟,交互是必不可少的。本篇文章就簡單介紹一下他們之間是如何交互的。
- Unity給iOS發(fā)消息
首先需要在C#文件中聲明方法浙于,例如:
[DllImport("__Internal")]
private static extern void FunctionName(int param1, string param2);
該方法必須存在于iOS項目中某個C++類中,該類文件需放在Unity項目的Plugins/iOS 目錄下:
extern "C"
void FunctionName(int param1, const char *param2)
{
}
這樣Unity就能調(diào)用iOS端的方法了:
FunctionName(1,"test");
- iOS給Unity發(fā)消息
// 第一個參數(shù)是Unity3d場景中物體對象的名字挟纱,
// 第二個參數(shù)是方法名羞酗,該方法需在與物體對象相關(guān)聯(lián)的某個C#文件中,
// 第三個參數(shù)是對應(yīng)方法的參數(shù)樊销,只能是字符串整慎,如果沒有參數(shù)則傳空字符串("")
UnitySendMessage("GameObjectName", "FunctionName", "paramString");