日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Unity3D游戲引擎之回饋iOS高級(jí)界面消息

 上一章介紹了IOS高級(jí)界面向Unity3D 發(fā)送消息與Unity3D 接收消息的過(guò)程,有去的消息當(dāng)然要有回的消息這樣的過(guò)程才算完美,本章MOMO向大家介紹Unity3D消息的回饋。

成都創(chuàng)新互聯(lián)公司為企業(yè)級(jí)客戶提高一站式互聯(lián)網(wǎng)+設(shè)計(jì)服務(wù),主要包括網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、成都App定制開(kāi)發(fā)、小程序設(shè)計(jì)、宣傳片制作、LOGO設(shè)計(jì)等,幫助客戶快速提升營(yíng)銷(xiāo)能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門(mén)都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個(gè)作品的質(zhì)量和創(chuàng)作周期,同時(shí)每年都有很多新員工加入,為我們帶來(lái)大量新的創(chuà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做出來(lái)的。

Project欄目中創(chuàng)建一個(gè)c#腳本,命名為Main.cs ,之前沒(méi)有使用過(guò) C#寫(xiě)腳本,今天我用C#來(lái)寫(xiě)這個(gè)腳本,哇咔咔~~~ 如下圖所示將腳本拖動(dòng)在攝像機(jī)上,腳本中聲明兩個(gè)Texture 類(lèi)型變量用來(lái)保存按鈕繪制的圖片資源。

Main.cs 代碼

[代碼]c#/cpp/oc代碼:

01 using UnityEngine; 
02 using System.Collections; 
03    
04 public class Main : MonoBehaviour { 
05    
06 //聲明兩個(gè)Texture變量,圖片資源在外面連線賦值 
07 public Texture Button0; 
08 public Texture Button1; 
09    
10     // Use this for initialization 
11     void Start () { 
12        
13     } 
14        
15     // Update is called once per frame 
16     void Update () { 
17        
18     } 
19        
20     //這個(gè)方法用于繪制 
21     void OnGUI() { 
22         //繪制兩個(gè)按鈕 
23         if(GUI.Button(new Rect(0,44,120,120),Button0)) 
24         { 
25             //返回值為ture說(shuō)明這個(gè)按鈕被點(diǎn)擊 
26             SDK.ActivateButton0(); 
27         }    
28            
29         //繪制兩個(gè)按鈕 
30         if(GUI.Button(new Rect(200,44,120,120),Button1)) 
31         { 
32             //返回值為ture說(shuō)明這個(gè)按鈕被點(diǎn)擊 
33             SDK.ActivateButton1(); 
34         }    
35     } 
36 }

這里詳細(xì)說(shuō)一下SDK這個(gè)類(lèi),這個(gè)類(lèi)我們看作它是一個(gè)管理類(lèi),它不賦值在任意對(duì)象身上,只接受調(diào)用管理,點(diǎn)擊兩個(gè)按鈕后將分別調(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 代碼

[代碼]c#/cpp/oc代碼:

01 using UnityEngine; 
02 using System.Runtime.InteropServices; 
03    
04 public class SDK 
05
06         
07      //導(dǎo)出按鈕以后將在xcode項(xiàng)目中生成這個(gè)按鈕的注冊(cè), 
08      //這樣就可以在xocde代碼中實(shí)現(xiàn)這個(gè)按鈕點(diǎn)擊后的事件。 
09      [DllImport("__Internal")] 
10      private static extern void _PressButton0 (); 
11         
12      public static void ActivateButton0 () 
13      { 
14            
15         if (Application.platform != RuntimePlatform.OSXEditor)  
16         { 
17             //點(diǎn)擊按鈕后調(diào)用xcode中的 _PressButton0 ()方法, 
18             //方法中的內(nèi)容須要我們自己來(lái)添加 
19             _PressButton0 (); 
20         } 
21      } 
22         
23      //和上面一樣 
24      [DllImport("__Internal")] 
25      private static extern void _PressButton1 (); 
26         
27      public static void ActivateButton1 () 
28      { 
29         if (Application.platform != RuntimePlatform.OSXEditor)  
30         { 
31             _PressButton1 (); 
32         } 
33      } 
34    
35 }

這樣子Unity3D 部分已經(jīng)完成,將Untiy3D項(xiàng)目導(dǎo)出成Xcode項(xiàng)目,我們用Xcode打開(kāi)它。添加Unit3D中GUI按鈕點(diǎn)擊后的響應(yīng)事件。創(chuàng)建一個(gè)類(lèi)命名為 MyView.h 、MyView.m,用它來(lái)接收Unity3D 回饋回來(lái)的消息,_PressButton0 與 _PressButton1 這兩個(gè)方法在Unity3D中已經(jīng)注冊(cè)過(guò),所以在這個(gè)類(lèi)中我們須要對(duì)它進(jìn)行Xcode中的實(shí)現(xiàn)。

MyView.m

[代碼]c#/cpp/oc代碼:

01 #import "MyView.h"   
02    
03    
04 @implementation MyView   
05    
06 //接收Unity3D 傳遞過(guò)來(lái)的信息 
07    
08 void _PressButton0() 
09
10     UIAlertView *alert = [[UIAlertView alloc] init]; 
11     [alert setTitle:@"雨松MOMO程序世界"]; 
12     [alert setMessage:@"點(diǎn)擊了第一個(gè)按鈕"]; 
13     [alert addButtonWithTitle:@"確定"]; 
14     [alert  show];   
15     [alert release]; 
16
17    
18 void _PressButton1() 
19
20        
21     UIAlertView *alert = [[UIAlertView alloc] init]; 
22     [alert setTitle:@"雨松MOMO程序世界"]; 
23     [alert setMessage:@"點(diǎn)擊了第二個(gè)按鈕"]; 
24     [alert addButtonWithTitle:@"確定"]; 
25     [alert  show];   
26     [alert release]; 
27
28 @end

OK大功告成,連上真機(jī)運(yùn)行我們的項(xiàng)目,我們?cè)趇Phone中點(diǎn)擊了Unity3D 中GUI這兩個(gè)按鈕后,通過(guò)消息的回饋?lái)樌膹棾鯥OS高級(jí)界面 的對(duì)話框,哇咔咔~


文章名稱:Unity3D游戲引擎之回饋iOS高級(jí)界面消息
鏈接URL:http://www.5511xx.com/article/dhdscgi.html