自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Unity3D 游戲引擎之回饋iOS高級界面消息

移動開發(fā) iOS 游戲開發(fā)
上一章介紹了IOS高級界面向Unity3D 發(fā)送消息與Unity3D 接收消息的過程,有去的消息當然要有回的消息這樣的過程才算完美,本章MOMO向大家介紹Unity3D消息的回饋。

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

 

如下圖所示,本章我們的目標是在Unity3D 界面中添加兩個GUI按鈕,并且在iPhone上點擊這兩個按鈕后分別彈出兩個IOS 高級界面的對話框。相信盆友們對GUI應該不會太陌生,在這里我在前調一下GUI就是Unity3D 提供的一套UI系統(tǒng)。圖中的兩個UI 按鈕我就是用GUI做出來的。

 

 

 

 

 

 

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

 

 

 

 

 

 

Main.cs 代碼 

 

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

01 using UnityEngine; 
02 using System.Collections; 
03    
04 public class Main : MonoBehaviour { 
05    
06 //聲明兩個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     //這個方法用于繪制 
21     void OnGUI() { 
22         //繪制兩個按鈕 
23         if(GUI.Button(new Rect(0,44,120,120),Button0)) 
24         { 
25             //返回值為ture說明這個按鈕被點擊 
26             SDK.ActivateButton0(); 
27         }    
28            
29         //繪制兩個按鈕 
30         if(GUI.Button(new Rect(200,44,120,120),Button1)) 
31         { 
32             //返回值為ture說明這個按鈕被點擊 
33             SDK.ActivateButton1(); 
34         }    
35     } 
36 }

這里詳細說一下SDK這個類,這個類我們看作它是一個管理類,它不賦值在任意對象身上,只接受調用管理,點擊兩個按鈕后將分別調用下面方法中的_ActivateButton0() 與 _ActivateButton1(),而這兩個方法則是去調用xcode 我們自己實現(xiàn)的方法_pressButton0() 與 _pressButton1(), 前提上須下面代碼中的注冊,這樣子導出項目的時候xcode會幫我們 生成注冊信息,我們只須要實現(xiàn)這兩個方法就可以了。

 

SDK.cs 代碼

 

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

01 using UnityEngine; 
02 using System.Runtime.InteropServices; 
03    
04 public class SDK 
05
06         
07      //導出按鈕以后將在xcode項目中生成這個按鈕的注冊, 
08      //這樣就可以在xocde代碼中實現(xià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             //點擊按鈕后調用xcode中的 _PressButton0 ()方法, 
18             //方法中的內容須要我們自己來添加 
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 部分已經完成,將Untiy3D項目導出成Xcode項目,我們用Xcode打開它。添加Unit3D中GUI按鈕點擊后的響應事件。創(chuàng)建一個類命名為 MyView.h 、MyView.m,用它來接收Unity3D 回饋回來的消息,_PressButton0 與 _PressButton1 這兩個方法在Unity3D中已經注冊過,所以在這個類中我們須要對它進行Xcode中的實現(xiàn)。

 

 

MyView.m

 

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

01 #import "MyView.h"   
02    
03    
04 @implementation MyView   
05    
06 //接收Unity3D 傳遞過來的信息 
07    
08 void _PressButton0() 
09
10     UIAlertView *alert = [[UIAlertView alloc] init]; 
11     [alert setTitle:@"雨松MOMO程序世界"]; 
12     [alert setMessage:@"點擊了第一個按鈕"]; 
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:@"點擊了第二個按鈕"]; 
24     [alert addButtonWithTitle:@"確定"]; 
25     [alert  show];   
26     [alert release]; 
27
28 @end

OK大功告成,連上真機運行我們的項目,我們在iPhone中點擊了Unity3D 中GUI這兩個按鈕后,通過消息的回饋順利的彈出IOS高級界面 的對話框,哇咔咔~


 

 

 

 

責任編輯:冰凝兒
相關推薦

2012-12-24 08:56:15

iOSUnity3D

2012-12-24 08:40:12

2012-12-24 08:46:50

iOSUnity3D

2012-12-24 09:01:41

iOSUnity3D

2012-12-24 08:48:25

iOSUnity3D

2012-12-24 08:50:21

iOSUnity3D

2012-12-24 09:04:04

iOSUnity3D

2012-12-24 08:52:44

iOSUnity3D

2012-12-24 08:59:13

iOSUnity3D

2012-12-24 08:45:19

iOSUnity3D

2012-12-24 08:54:47

iOSUnity3D

2012-12-24 08:51:23

iOSUnity3D

2012-12-24 09:06:14

iOSUnity3D

2012-12-24 09:07:09

iOSUnity3D

2013-04-25 00:06:06

unity3D手機游戲引擎

2012-12-24 09:11:58

iOSUnity3D

2012-12-24 09:00:31

iOSUnity3D

2012-12-24 09:09:27

AndoidUnity3D

2012-12-24 09:02:48

iOSUnity3D

2013-04-25 09:56:24

unity3D手機游戲引擎
點贊
收藏

51CTO技術棧公眾號