1. 程式人生 > >Unity_UGUI判斷滑鼠或者手指是否點選在UI上(三)

Unity_UGUI判斷滑鼠或者手指是否點選在UI上(三)

     比如戰鬥場景,UI和3D場景同時都需要響應觸控事件,如果同時響應可能就會出現觸控UI的時候影響到了3D部分。為了解決這個問題在判斷3D響應之前要先判斷手指是否點選在UI上。 以前NGUI的時候都是自己來發送射線判斷,現在UGUI好了系統提供了更為簡便的方法。

#if UNITY_ANDROID && !UNITY_EDITOR
#define ANDROID
#endif
 
 
#if UNITY_IPHONE && !UNITY_EDITOR
#define IPHONE
#endif
 
 
 
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.EventSystems;
public class NewBehaviourScript : MonoBehaviour {
 
	// Use this for initialization
	void Start () {
	
	}
	
 
	void Update()
	{
		if (Input.GetMouseButtonDown(0)||(Input.touchCount >0 && Input.GetTouch(0).phase == TouchPhase.Began))
		{
#if IPHONE || ANDROID
			if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
#else
			if (EventSystem.current.IsPointerOverGameObject())
#endif
				Debug.Log("當前觸控在UI上");
			
			else 
				Debug.Log("當前沒有觸控在UI上");
		}
	}
}


相關推薦

Unity_UGUI判斷滑鼠或者手指是否UI()

     比如戰鬥場景,UI和3D場景同時都需要響應觸控事件,如果同時響應可能就會出現觸控UI的時候影響到了3D部分。為了解決這個問題在判斷3D響應之前要先判斷手指是否點選在UI上。 以前NGUI的時候都是自己來發送射線判斷,現在UGUI好了系統提供了更為簡便的方法。 #i

Unity 判斷 滑鼠/觸控 位置是否在指定Ui,非射線檢測方式。觸屏移動物體。

事出有因: 1.專案的觸控點選事件,並且有手指縮放/移動功能。 2.unity本身支援touch功能,這個不多說。 3.當做手指縮放/移動的時候就要判斷touch點位置了,但是如果不加任何判斷則會亂套。 如:本來想移動A(讓A跟隨 手指touch 的座標就行了),但是如果我在B區域觸控並

滑鼠多次任意元素,css的hover失效的解決辦法

1.解決辦法:改為js的mouseenter和mouseleave事件; 2.原因:經定位,是滑鼠多次任意點選元素時,進入到了mouseleave事件中(滑鼠點選時是在元素上的,不應該進入mouseleave中),所以才導致了hover失效。 3.程式碼: <!DOCTYPE ht

jQuery fullpage.js 全屏滾動外掛取消滑鼠滾動事件,選單欄定位顯示頁面。

問題:專案中遇到一個頁面,使用了全屏滾動外掛,如下有4屏畫面。使用了 fullpage.js,現在想要取消通過滑鼠滑輪滾動來定位頁面的功能,只通過點選左側選單欄來實現的定位頁面。   (此處前提條件是,原來的滑鼠事件有效,同時點選左側選單欄也能實現定位de)

js或者jQuery模擬提交按鈕button,觸發提交操作

一般情況下提交form表單,都是手動點選提交按鈕,但是為了簡化使用者操作,有時候需要自動提交表單,或者做了其他某一個操作(非提交操作)之後自動提交表單,可以使用js或者jQuery模擬點選提交按鈕,然後提交,觸發提交操作 不只是提交表單,其他需要點選的時候都可以這麼寫,不用人手動點選而達到手

ArcGIS API for Silverlight開發中滑鼠左鍵地圖彈出視窗及右鍵彈出快捷選單的實現程式碼

1、首先在SL專案中新增一個抽象類ContextMenu.cs檔案,程式碼如下:using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.

eclipse ctrl+滑鼠左鍵並類名不跳轉到class類而是跳轉到jar包設定

目標: eclipse ctrl+滑鼠左鍵點選類名不跳轉到class類而是跳轉到jar包設定 問題描述:剛一開始我點選【ctrl+滑鼠左鍵】選擇某個類名:com.apache.testClass  會自動跳轉到類:test.jar中,但是不知道為何突然,每次點的時候  

Linux滑鼠變成十字,不動

由於在bash中誤當成python直譯器,輸入了import(沒有誤操作,隨意) 解決:ps -aux 找出import 程序 kill -9 pid(程序號,就上一命令的第二列)殺死 解決。 唉 可長點心吧!

QT中設定當滑鼠在視窗外時關閉視窗

我們想要對某一個視窗進行這樣的設定: 當滑鼠在此視窗區域外點選時,將此視窗關閉。 一般來講,有以下幾種方式: 1.重寫滑鼠點選事件,判斷當前滑鼠座標

PC和移動端判斷滑鼠手指)滑動方向(touch方向)

//移動端 $(".demo").on("touchstart", function(e) {     e.preventDefault();     startX = e.originalEvent.

element-ui 解析新增和編輯。裡面按鈕的click事件為什麼要那樣寫?

  1.首先新增頁面我們把定義的新增要填的表單繫結的model值全部又寫了一遍,和上面data裡面定義的格式是一樣的,為什麼呢?是多此一舉嗎? 當然不是。因為每次點選彈窗新增的表單都必須是置空的。而我們從新寫了一遍定義時的資料相當於把他置空了。   2

基於jQuery和cropper頭像傳並預覽裁剪圖片

使用jquery上傳前,預覽圖片,裁剪,示例使用php接收上傳的檔案,並且儲存為裁剪後的圖片。不需要上傳後再裁剪圖片,只需要本地裁剪好即可,裁剪的時候也可以旋轉圖片。裁剪控制元件使用了,cropper。 html程式碼 <!DOCTYPE html> <html la

layui 頭像 傳頭像

在開發過成中,難免是會要接觸到圖片上傳後實現即時預覽的,但是說實話,這樣實現起來不使用外掛的話,程式碼量還是有一點點的, 所以今天就推薦使用layui 來實現圖片的上傳功能,非常簡單和適用,廢話不多說 貼出程式碼來 #程式碼部分 <html> <head>

頁面的元素,頁面刪除removeChild()

簡單描述:最近做了一個圖片上傳,上傳完成回顯圖片的時候,需要用到點選圖片,從頁面刪除的效果,然後就找到了removeChild()方法,說實話,我剛看到的時候,就覺得這個問題已經解決了,但是卻發現這個方法裡傳的引數竟然有點不同尋常,我往裡邊放了一個用引號包起來的id字串,表示刪除該id,結果F12就出現了一個

多次file傳,資訊儲存在js集合中,不覆蓋上次資訊,js傳多張圖片

頁面只有一個input file按鈕,一個確認上傳按鈕,要求:多次點選上傳,吧圖片資訊儲存入集合,點選確認按鈕,上傳所有圖片 多次點選這一個按鈕上傳圖片,在js中儲存為集合,但是遇到一個問題,當我點選第二次的時候,傳過來的this資訊會頂替掉上一次的this資訊, 也就是:上傳兩次,集合中有

jq 鍵盤事件,鍵盤鍵,input一個獲取焦點,下鍵,input下一個獲取焦點

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script

monkeyrunner入門之滑動螢幕(

細節都寫在裡面了哦,仔細看。。 device.touch裡面的數字是手機螢幕的座標,手機螢幕的座標這樣得知: 開啟設定–系統—開發者選項–指標座標 #device.drag(X,Y,D,S) #X 開始座標 #Y 結束座標 #D 拖動持續時間(以秒為單位),預設1.0秒 #S 插值點時要

swiper控制元件loop迴圈後,不能一個組的bug

起因: 專案中使用到Swiper,迴圈滾動, 使用 “迴圈 loop”引數後,  發現上一個元素無法點選點選。 使用中發現他會在首部和尾部。自動建立兩個元素,並且導致該元素的onClick事件會失效,如下圖紅色框部分: 解決方式: 使用 class 獲取點選事件,

RecyclerView實現Item事件方法/四

此係列文章隔上次釋出有一段時間,原因就是懶(其實是比較忙),今天來說下剩下的兩種方法,如何優雅的實現 對於方法三我這裡就不說了,因為有很多文章都有說明,那就是基於RecyclerView.On

【解決方法】bootstrap的下拉選單無反應

遇到問題是:點選bootstrap裡的下拉選單沒有反應 正常情況是點選時應該是由以下 變為 這樣下拉選單會正常出來 參照網上解決方法是:匯入的.js順序錯誤 1.匯入bootstrap的.css檔案 2.匯入jquery的.js檔案 3.匯入bootstrap