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

Unity3D 游戲引擎之實(shí)現(xiàn)平面多點(diǎn)觸摸

移動(dòng)開發(fā) iOS 游戲開發(fā)
在上一章中已經(jīng)介紹了Unity for 3D 游戲引擎的構(gòu)建,從本章以后我將帶領(lǐng)大小盆友們一起更進(jìn)一步的學(xué)習(xí)Unity游戲引擎。先從Unity平面開始,本章介紹Unity 平面上的多點(diǎn)觸摸

在上一章中已經(jīng)介紹了Unity for 3D 游戲引擎的構(gòu)建,從本章以后我將帶領(lǐng)大小盆友們一起更進(jìn)一步的學(xué)習(xí)Unity游戲引擎。先從Unity平面開始,本章介紹Unity 平面上的多點(diǎn)觸摸。


 

點(diǎn)擊File->New Project 創(chuàng)建一個(gè)工程,可以使用默認(rèn) 或者 名稱隨便起一起即可。點(diǎn)擊繼續(xù)完成創(chuàng)建工程。

 

Scene:游戲場(chǎng)景視圖,這里面可以擺放任意場(chǎng)景模型。

Camera Preview:攝像頭正對(duì)方向屏幕顯示內(nèi)容

MainCamera:創(chuàng)建工程后默認(rèn)會(huì)添加游戲的主攝像頭,在場(chǎng)景視圖中我們可以看見 MainCamera在三維坐標(biāo)系中的位置。

我們今天的目標(biāo)實(shí)際上就是讓攝像頭正對(duì)一個(gè)平面,在這個(gè)平面中實(shí)現(xiàn)多點(diǎn)觸摸

下面介紹一下腳本的使用,為了讓攝像頭顯示我們須要給主攝像頭綁定腳本,如下圖所示,點(diǎn)擊紅框內(nèi)的Create 出現(xiàn)下拉列表,先創(chuàng)建兩個(gè)文件夾,Image用來(lái)存放圖片,Scripts用來(lái)存放腳本。 因?yàn)閕Phone 4 的分辨率是960x640 所以找到一張 960x640的圖片做為屏幕背景圖,然后在找一張小一點(diǎn)的圖片做為觸摸后在屏幕中顯示的圖片。 

 Unity支持三種的腳本分別是javascript,C# Script,Boo Script, 官方推薦使用javascript來(lái)編寫,所以我們也就用javascript。

創(chuàng)建一個(gè)腳本名稱為menu.js,聲明了兩個(gè)變量 imageMenu 與 imageItem 來(lái)儲(chǔ)存游戲背景顯示與游戲觸摸顯示的紋理圖片。

function OnGUI () : 這個(gè)方法用來(lái)通知屏幕繪制。

DrawTexture: 繪制紋理。

Label:繪制一個(gè)文本。

iPhoneInput.touchCount :得到多點(diǎn)觸摸的數(shù)量。

iPhoneInput.GetTouch(i).position: 得到循環(huán)中每一個(gè)多點(diǎn)觸摸的位置。

iPos.x : 觸摸的x坐標(biāo)

iPos.y : 觸摸的y坐標(biāo)(左上角為00點(diǎn)的Y坐標(biāo))

GUI.DrawTexture(Rect(x,960 - y ,120,120),imageItem);

960 - y : 因?yàn)槿〉玫膟坐標(biāo)是左上角00點(diǎn)的坐標(biāo),而Unity繪制是以左下角為00點(diǎn)的坐標(biāo),不處理直接用y的話坐標(biāo)就是一個(gè)反的,所以這里用 iPhone 4的 高度 960  減去 當(dāng)前觸摸的Y 就算出觸摸正確的顯示坐標(biāo)。

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

01 var imageMenu :Texture2D; 
02    
03 var imageItem :Texture2D; 
04    
05 function OnGUI () { 
06    
07     GUI.DrawTexture(Rect(0,0,640,960),imageMenu); 
08      
09      var touchCount = iPhoneInput.touchCount; 
10      for(var i = 0; i < touchCount; i++) 
11      { 
12         var iPos = iPhoneInput.GetTouch(i).position; 
13         var x = iPos.x; 
14         var y = iPos.y; 
15            
16         GUI.DrawTexture(Rect(x,960 - y ,120,120),imageItem); 
17            
18         GUI.Label(Rect(x, 960 - y,120,120),"Touch position is  " + iPos); 
19      } 
20    
21    
22 }

腳本已經(jīng)添加完畢,接下來(lái)是綁定變量。

先將menu.js拖拽到Maincamera中,可以看到右下角紅框中出現(xiàn)兩個(gè)沒有賦值的變量 ImageMenu 與ImageItem ,因?yàn)樯厦婺_本中聲明了這兩個(gè)變量,這里就會(huì)出現(xiàn)。在這里須要對(duì)這兩個(gè)變量賦值。然后拖拽圖片放入為其賦值。

OK 接下來(lái)就是build and run ,具體方法見上一章,這里就不羅嗦了。 我們看看運(yùn)行在iPhone上的真機(jī)效果圖。

因?yàn)閁nity3D for iPhone 只支持 5點(diǎn)觸摸,所以我將5根手指頭放入iPhone 4中 圖中清楚的記錄我的5根手指頭所在屏幕中的位置,以及正確的貼上了須要顯示的圖片。

 

責(zé)任編輯:冰凝兒
相關(guān)推薦

2012-12-24 09:01:41

iOSUnity3D

2012-12-24 08:46:50

iOSUnity3D

2012-12-24 08:54:47

iOSUnity3D

2012-12-24 08:51:23

iOSUnity3D

2012-12-24 08:48:25

iOSUnity3D

2012-12-24 08:40:12

2012-12-24 08:50:21

iOSUnity3D

2012-12-24 09:04:04

iOSUnity3D

2012-12-24 08:57:35

iOSUnity3D

2012-12-24 08:52:44

iOSUnity3D

2012-12-24 08:56:15

iOSUnity3D

2013-04-25 09:56:24

unity3D手機(jī)游戲引擎

2012-12-24 09:07:09

iOSUnity3D

2013-04-25 10:03:07

unity3D手機(jī)游戲引擎

2012-12-24 09:06:14

iOSUnity3D

2012-12-24 08:59:13

iOSUnity3D

2012-12-24 09:00:31

iOSUnity3D

2012-12-24 09:11:58

iOSUnity3D

2012-12-24 09:02:48

iOSUnity3D

2013-04-25 00:06:06

unity3D手機(jī)游戲引擎
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)