資源描述:
《unity3d游戲開發(fā)之回饋ios高級(jí)界面消息》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、上一章介紹了IOS高級(jí)界面向unity3D發(fā)送消息與unity3d?接收消息的過程,有去的消息當(dāng)然要有回的消息這樣的過程才算完美,本章MOMO向大家介紹Unity3D消息的回饋。??出自狗刨學(xué)習(xí)網(wǎng)????如下圖所示,本章我們的目標(biāo)是在Unity3D界面中添加兩個(gè)GUI按鈕,并且在iPhone上點(diǎn)擊這兩個(gè)按鈕后分別彈出兩個(gè)IOS高級(jí)界面的對(duì)話框。相信盆友們對(duì)GUI應(yīng)該不會(huì)太陌生,在這里我在前調(diào)一下GUI就是Unity3D提供的一套UI系統(tǒng)。圖中的兩個(gè)UI按鈕我就是用GUI做出來的。??????????????????????????Project欄目中創(chuàng)建一
2、個(gè)c#腳本,命名為Main.cs,之前沒有使用過C#寫腳本,今天我用C#來寫這個(gè)腳本,哇咔咔~~~如下圖所示將腳本拖動(dòng)在攝像機(jī)上,腳本中聲明兩個(gè)Texture類型變量用來保存按鈕繪制的圖片資源。????????????????????????????Main.cs代碼?1.usingUnityEngine;2.usingSystem.Collections;3.??4.publicclassMain:MonoBehaviour{5.??6.//聲明兩個(gè)Texture變量,圖片資源在外面連線賦值7.publicTextureButton0;8.publicT
3、extureButton1;9.??10.??//Usethisforinitialization11.??voidStart(){12.??13.??}14.??15.??//Updateiscalledonceperframe1.??voidUpdate(){2.??3.??}4.??5.??//這個(gè)方法用于繪制6.??voidOnGUI(){7.??????//繪制兩個(gè)按鈕8.??????if(GUI.Button(newRect(0,44,120,120),Button0))9.??????{10.????????//返回值為ture說明這個(gè)按鈕被
4、點(diǎn)擊11.????????SDK.ActivateButton0();12.??????}??13.??14.??????//繪制兩個(gè)按鈕15.??????if(GUI.Button(newRect(200,44,120,120),Button1))16.??????{17.????????//返回值為ture說明這個(gè)按鈕被點(diǎn)擊18.????????SDK.ActivateButton1();19.??????}??20.??}21.}復(fù)制代碼????這里詳細(xì)說一下SDK這個(gè)類,這個(gè)類我們看作它是一個(gè)管理類,它不賦值在任意對(duì)象身上,只接受調(diào)用管理,點(diǎn)擊兩個(gè)
5、按鈕后將分別調(diào)用下面方法中的_ActivateButton0()與_ActivateButton1(),而這兩個(gè)方法則是去調(diào)用xcode我們自己實(shí)現(xiàn)的方法_pressButton0()與_pressButton1(),前提上須下面代碼中的注冊(cè),這樣子導(dǎo)出項(xiàng)目的時(shí)候xcode會(huì)幫我們生成注冊(cè)信息,我們只須要實(shí)現(xiàn)這兩個(gè)方法就可以了。????SDK.cs代碼?????1.usingUnityEngine;2.usingSystem.Runtime.InteropServices;3.??4.publicclassSDK5.{6.??7.????//導(dǎo)出按鈕以后將
6、在xcode項(xiàng)目中生成這個(gè)按鈕的注冊(cè),8.????//這樣就可以在xocde代碼中實(shí)現(xiàn)這個(gè)按鈕點(diǎn)擊后的事件。9.????[DllImport("__Internal")]10.????privatestaticexternvoid_PressButton0();11.??12.????publicstaticvoidActivateButton0()13.????{14.??15.??????if(Application.platform!=RuntimePlatform.OSXEditor)16.??????{17.????????//點(diǎn)擊按鈕后調(diào)用xc
7、ode中的_PressButton0()方法,18.????????//方法中的內(nèi)容須要我們自己來添加19.????????_PressButton0();20.??????}21.????}22.??23.????//和上面一樣24.????[DllImport("__Internal")]25.????privatestaticexternvoid_PressButton1();26.??27.????publicstaticvoidActivateButton1()28.????{29.??????if(Application.platform!=R
8、untimePlatform.OSXEditor)30.?????