1. 程式人生 > >UGUI點選事件(多個)

UGUI點選事件(多個)

using UnityEngine; using System.Collections; using UnityEngine.EventSystems; publicclassEventTriggerListener:UnityEngine.EventSystems.EventTrigger{ publicdelegate voidVoidDelegate(GameObject go); publicVoidDelegate onClick; publicVoidDelegate onDown; publicVoidDelegate onEnter; publicVoidDelegate
onExit; publicVoidDelegate onUp; publicVoidDelegate onSelect; publicVoidDelegate onUpdateSelect; staticpublicEventTriggerListener Get(GameObject go) { EventTriggerListener listener=go.GetComponent<EventTriggerListener>(); if(listener==null)listener=go.AddComponent<EventTriggerListener
>(); returnlistener; } publicoverride voidOnPointerClick(PointerEventData eventData) { if(onClick!=null)onClick(gameObject); } publicoverride voidOnPointerDown(PointerEventData eventData){ if(onDown!=null)onDown(gameObject); } publicoverride voidOnPointerEnter(PointerEventData eventData
){ if(onEnter!=null)onEnter(gameObject); } publicoverride voidOnPointerExit(PointerEventData eventData){ if(onExit!=null)onExit(gameObject); } publicoverride voidOnPointerUp(PointerEventData eventData){ if(onUp!=null)onUp(gameObject); } publicoverride voidOnSelect(BaseEventData eventData){ if(onSelect!=null)onSelect(gameObject); } publicoverride voidOnUpdateSelected(BaseEventData eventData){ if(onUpdateSelect!=null)onUpdateSelect(gameObject); } }

然後在你的介面裡面寫入監聽按鈕的程式碼。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 using UnityEngine; using System.Collections; using UnityEngine.UI; using UnityEngine.EventSystems; using UnityEngine.Events; publicclassUIMain:MonoBehaviour{ Button button; Image image; voidStart() { button=transform.Find("Button").GetComponent<Button>(); image=transform.Find("Image").GetComponent<Image>(); EventTriggerListener.Get(button.gameObject).onClick=OnButtonClick; EventTriggerListener.Get(image.

相關推薦

UGUI事件()

using UnityEngine; using System.Collections; using UnityEngine.EventSystems; publicclassEventTriggerListener:UnityEngine.EventSys

Android防止重複開啟頁面

新建NoDoubleClickListener import android.view.View; import java.util.Calendar; public abstract class

ztree外掛同一頁面tree想要每個tree有獨立的事件

在同一個頁面如果有兩個tree,而且想要兩個tree的點選事件區別開來,需要設定獨立的一套setting和回撥函式,如下: //第一棵樹 var setting = { isSimpleData : true, //資料是否採用簡單 Ar

Android開發20——單個監聽器監聽按鈕事件

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android listview監聽item的事件

如果一個介面包含多個listview,而且需要監聽每個listview的item點選事件,其實只需要在onItemClick方法中  判斷一下即可   @Override     public void onItemClick(Adapte

Android 神器之SpanableString實現textview部分字型事件(不同顏色),並且支援事件

1.老規矩,咱們先上效果圖: 2.如上圖 標紅的地方,我們一眼看上去 就是一個TextView上面展示出來的(沒錯就是一個TextView展示出來的),並且 部分字型顏色不一樣,而且這個三個協議是可以點選的,點選跳轉到不同頁面,怎麼實現尼 ?,這裡就涉及到一個

Vue、React同一個dom元素如何繫結事件

Vue:<button type="button" @click="a();b()">vue按鈕</button> React:<button type="button

天地圖顯示標註事件有檢索框

天地圖的座標和百度地圖座標還有有點區別的,直接上程式碼 <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=u

Android同一個TextView裡響應區域事件

    專案中遇到這樣的一個需求:物流資訊中會返回一個配送人員的手機號碼,一個投訴電話,根據快遞公司不同,有時候還會返回一個快遞單號,這三個標籤的字型顯示為藍色並且可點選。第一反應是放不同的TextView或者Button分別處理他們的點選事件,當然是不可取的,因為這些物流資訊不止一條,我們看那些電商的物流

為canvas繪製的圖形設定事件

一、給Canvas元素繫結事件基礎知識 由於事件只能達到Canvas元素這一層,所以,如果想進一步深入,識別點擊發生在Canvas內部的哪一個圖形上,就需要增加程式碼來進行處理。 基本思路是:給Canvas元素繫結事件,當事件發生時,檢查事件物件的位置,然後檢查哪些圖形覆

jquery實現根據不同class為按鈕新增事件

一、實現功能 在專案中需要新增幾個button來實現點選不同的button就可以設定字母的顏色。但是button上面不能有文字。所以不能根據$('button').html()獲取button的文字來

jquery元素繫結同一事件以及回車事件觸發事件

1.多個元素繫結同一事件 場景呈現:在登入功能中可以會在每個輸入框中監聽回車事件或者是其他相同事件,這時候就可以通過下面方式進行繫結. $(".login_wrap input[name=usern

使用ButterKnife方法,事件響應裡面,執行performClick失效,不能再同一幀響應事件

最近在專案中使用butterKnife繫結點選事件,在一個控制元件點選中,執行另外一個控制元件的點選事件,然後發現失效。檢視butterknife生成的原始碼,發現butterknife的OnClickListener外層被包裹了一層,目的在於防止同一幀被多次點選。 pu

textview的多種字型和一個textview中的事件

在實際開發當中。我們經常會遇到像使用者協議這種形式的textview。這種textview一般都是隻有特殊的幾個字有點選事件。別的都沒有,那麼怎麼辦呢。 後來我自己在網上找了很多發現了一種實現方式。我感覺挺不錯的。就拿出來和大家分享一下 首先建立一個textviewprot

同一個 TextView 設定樣式事件

先看樣式圖片( 評論內容為一個 TextView ): xml 檔案中不給出程式碼了,就是一個容器裡面有一個 TextView ; 下面是 Activity 程式碼:         String oneName = "直男";//第一個人         Stri

ListView中嵌入佈局的Button或事件

ListView中嵌入佈局的多個點選事件 有時候在ListView嵌入的佈局中有多個事件需要點選,比如一個item中有TextView和Button兩個佈局,當我們需要獲取這兩個點選事件時,我們應該如何去獲取呢,通常來說,我們都是已經固定好了TextVie

android通過遍歷處理按鈕事件

如果我們有很多的按鈕都有點選事件的話,那麼單單靠switch case是很麻煩的,因為你需要在每個case後面加上一個R.id.xx。這樣的程式碼看起來不整潔也很麻煩。那麼如果我們使用遍歷的方法來處理的話就是方便許多。首先我們先來了解一下獲取控制元件id的方式:1:反射:tr

class相同的元素的事件(動態載入的)

1.  for(var i=0;i<datas;i++){                list= document.createElement('tr');//建立tr標籤        

Unity Canvas 事件的響應

問題 :Canvas在World Space模式下無法接受點選事件 解決辦法: 1.Canvas的EventCamera如果為空,則設定對應Canvas的Camera的Tag為MainCamera 2.指定Canvas的EventCamera為對應的Camera   其

Unity UGUI按鈕動態新增事件

使用程式碼的方式給按鈕新增點選事件需要引入兩個名稱空間: using UnityEngine.UI; using UnityEngine.Events; 先建立一個介面,並且在介面裡放置一個按鈕: 建立一個Test指令碼,程式碼如下: using