25.Unity3D手機中Input類touch詳解-Unity觸屏事件解析到底(Twisted Fate)
首先貼一下Unity支援的模型檔案型別,以前沒有收集過。
Unity支援兩種型別的3D檔案格式:
1. 通用的“出口型”3D檔案
如.fbx、.dae、.3ds、.dxf、.obj等檔案格式。
2. 3D軟體專用的3D檔案格式
如Max, Maya, Blender,Cinema4D, Modo, Lightwave & Cheetah3D 等軟體所支援的格式,如.MAX, .MB, .MA等等。
Unity3D手機中Input類touch詳解:
1.Input.touchCount 觸控隨之增長,一秒50次增量。
2.Input.GetTouch(0).phase==TouchPhase.Moved 手指滑動中最後一幀滑動的狀態是運動的。
3.TouchPhase 觸控的幾個狀態。
4.Touch.deltaPosition 增量位置(Input.GetTouch(0).deltaPosition)最後一幀滑動的值,只返回xy軸座標,也可用vector3(z軸為0),所以一般用vector2接收。
1 static var aa:int; 2 function Update () { 3 if(Input.touchCount>0) 4 { 5 print(Input.touchCount); 6 } 7 } 8 function OnGUI() 9 { 10 GUI.Label(Rect(34,34,34,34),"sdff"); 11 }
touchCount指的是觸控幀的數量。要注意的是:touch事件 只能在模擬器或者真機上執行(已測試通過),大約一秒鐘touch不放。touchCount+50次左右。2.Input.touches 觸控列表。
// Prints number of fingers touching the screen //輸出觸控在螢幕上的手指數量 function Update () { var fingerCount = 0; for (var touch : Touch in Input.touches) { if (touch.phase != TouchPhase.Ended && touch.phase != TouchPhase.Canceled) fingerCount++; } if (fingerCount > 0) print ("User has " + fingerCount + " finger(s) touching the screen"); }
3.讓cube隨著touch 移動程式碼:
static var count:int; //定義touchCount數 var particle_:GameObject;//定義存放cube物件 var touchposition:Vector3; //儲存移動三維座標值 function Update () { if(Input.touchCount>0) { count+=Input.touchCount;} if((Input.touchCount>0&&Input.GetTouch(0).phase==TouchPhase.Moved)) //[color=Red]如果點選手指touch了 並且手指touch的狀態為移動的[/color] { touchposition=Input.GetTouch(0).deltaPosition; //[color=Red]獲取手指touch最後一幀移動的xy軸距離[/color] particle_.transform.Translate(touchposition.x*0.01,touchposition.y*0.01,0);//[color=Red]移動這個距離[/color] }} function OnGUI() { GUI.Label(Rect(10,10,100,30),"cishu:"+count.ToString()); GUI.Label(Rect(10,50,100,30),touchposition.ToString()); }
移動物體:
using UnityEngine; using System.Collections; public class example : MonoBehaviour { public float speed = 0.1F; void Update() { if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) { Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition; transform.Translate(-touchDeltaPosition.x * speed, -touchDeltaPosition.y * speed, 0); } } }
點選碰撞克隆:
using UnityEngine; using System.Collections; public class example : MonoBehaviour { public GameObject projectile; void Update() { int i = 0; while (i < Input.touchCount) { if (Input.GetTouch(i).phase == TouchPhase.Began) clone = Instantiate(projectile, transform.position, transform.rotation) as GameObject; ++i; } } }
點選螢幕,射線法發射一個粒子
using UnityEngine; using System.Collections; public class example : MonoBehaviour { public GameObject particle; void Update() { int i = 0; while (i < Input.touchCount) { if (Input.GetTouch(i).phase == TouchPhase.Began) { Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position); if (Physics.Raycast(ray)) Instantiate(particle, transform.position, transform.rotation) as GameObject; } ++i; } } }
相關推薦
25.Unity3D手機中Input類touch詳解-Unity觸屏事件解析到底(Twisted Fate)
首先貼一下Unity支援的模型檔案型別,以前沒有收集過。 Unity支援兩種型別的3D檔案格式: 1. 通用的“出口型”3D檔案 如.fbx、.dae、.3ds、.dxf、.obj等檔案格式。 2. 3D軟體專用的3D檔案格式 如Max, Maya, Blender,Cinema4D, Modo
Unity3D手機中Input類touch詳解
Unity3D手機中Input類touch詳解: 1.Input.touchCount 觸控隨之增長,一秒50次增量。 2.Input.GetTouch(0).phase==TouchPhase.Moved 手指滑動中最後一幀滑動的狀態是運動的。 3.TouchPh
c++中string類的詳解
通過在網站上的資料蒐集,得到了很多關於string類用法的文件,通過對這些資料的整理和加入一些自己的程式碼,就得出了一份比較完整的關於string類函式有哪些和怎樣用的文件了! 下面先羅列出string類的函式有哪一些,然後再羅列出函式的原型,最後到程式碼的實現 標準C++中提供的string類得功能也是非常
bootstrap中常用的元素類名詳解
一個 分別是 viewport 工作 ima 布局 -h containe 間距 1 .col 是用來快速構造的網格的類。一般會根據視口改變大小,有三個類別分別是.col-sm .col-md .col-xs分別適配大屏,中屏,大屏。響應式網格系統隨著屏幕或視口(view
Django 中類檢視詳解
在寫檢視的時候,Django除了使用函式作為檢視,也可以使用類作為檢視。使用類檢視可以使用類的一些特性,比如繼承等。 View檢視: django.views.generic.base.View是主要的類檢視,所有的類檢視都是繼承自他。如果我們寫自己的類檢視,也可以繼承自他。然後再根
手把手教你ExtJS從入門到放棄——篇二十四(示例21:Ext.dom.Element類中操作樣式方法詳解)
只挑幾個講解: applyStyle:引數可以是如下形式,也可以是物件形式:物件的屬性為樣式如{width:300px},或者是個方法,返回值形式為 前面兩種 setStyle:跟jquery裡的css方法一樣,第一個引數是樣式屬性的key,第二個是值
Scala中的類和物件,實用樣例詳細解析!
Scala類 簡介 類是物件的抽象,而物件是類的具體例項。類是抽象的,不佔用記憶體,而物件是具體的,佔用儲存空間。類是用於建立物件的藍圖,它是一個定義包括在特定型別的物件中的方法和變數的軟體模板。 Scala中的類不宣告為public,一個Scala原始檔中可
JDK中正則表示式類庫詳解(一)
二、以下是自己對正則表示式的一些理解。 [size=medium]1. 正則表示式規則1.1 普通字元 字母、數字、漢字、下劃線、以及後邊章節中沒有特殊定義的標點符號,都是"普通字元"。表示式中的普通字元,在匹配一個字串的時候,匹配與之相同的一個字元。 舉例1:表示式 "c",在匹配字串 "
Java中Arrays類中的binarySearch方法詳解
1.它有很多過載的方法: static int 使用二分搜尋法來搜尋指定的 byte 型陣列,以獲得指定的值。 static int (byte[] a, int fromIndex, int toIndex, byte key) 使用二分搜尋法來搜尋指定的 byte
Java中的Arrays類使用詳解
首先先建立一個列印陣列的方法,方便後面直接使用 public static void output(int []a) { for(int i=0;i<a.length;i++) { System.out.pri
C++類中拷貝建構函式詳解
a. C++標準中提到“The default constructor, copy constructor and copy assignment operator, and destructor are special member functions.[Note: T
Java學習札記12:Java中的StringBuilder類功能詳解
字串是 Java 程式中最常用的一種資料結構之一。在 Java 中的 String 類已經過載的"+"。也就是說,字串可以直接使用"+"進行連線,如下面程式碼所示: String s = "abc" + "ddd"; 但這樣做真的好嗎?當然,這個問題不能簡單地回答 Yes
手機端html5觸屏事件(touch事件)3
touchstart:觸控開始的時候觸發 touchmove:手指在螢幕上滑動的時候觸發 touchend:觸控結束的時候觸發 而每個觸控事件都包括了三個觸控列表,每個列表裡包含了對應的一系列觸控點(用來實現多點觸控): touches:當前位於螢幕上的所有手指的
Unity3D中texture2D函式使用詳解
在Unity3D中可以使用指令碼建立texture2D貼圖,並對畫素進行操作。 對Texture2D畫素操作後,一定要Apply for (int i = 0; i < 100; i++) { for
html5手機端觸屏事件(touch事件)第二章
touchstart: // 手指放到螢幕上的時候觸發 touchmove: // 手指在螢幕上移動的時候觸發 touchend: // 手指從螢幕上拿起的時候觸發 touchcanc
Python 在子類中呼叫父類方法詳解(單繼承、多層繼承、多重繼承)
測試環境: win7 64位 Python版本:Python 3.3.5 程式碼實踐: 1、在子類中通過“類名”呼叫父類的方法 class FatherA: def __init__(self): print('init
Java 8 中新的 Date 和 Time 類入門詳解, DateUtil ,以後可以少寫幾個了,關鍵是執行緒安全了
這篇文章主要是java8中新的Date和Time API的實戰。新的Date和Time類是java開發者社群千呼萬喚始出來的。Java8 之前存在的Date類一直都受人詬病,很多人都會選擇使用第三方的date庫joda-time。Java8中的date和time api
JavaScript中return的用法詳解
style 返回 www log tle blog 意思 charset fun 1、定義:return 從字面上的看就是返回,官方定義return語句將終止當前函數並返回當前函數的值,可以看下下面的示例代碼: <!DOCTYPE html><html l
Buffer類的詳解(轉)
iteye 原始數據類型 pub bst exception 如何 數字 硬件 final Buffer 類是 java.nio 的構造基礎。一個 Buffer 對象是固定數量的數據的容器,其作用是一個存儲器,或者分段運輸區,在這裏,數據可被存儲並在之後用於檢索。緩沖區可以
[轉]C#進階系列——WebApi 接口返回值不困惑:返回值類型詳解
try 接口測試工具 des rep home creat port 調用 學習 本文轉自:http://www.cnblogs.com/landeanfen/p/5501487.html 閱讀目錄 一、void無返回值 二、IHttpActionResult