標籤:
轉自: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互動