unity一些鍵盤滑鼠特殊觸發事件總結
首先是滑鼠雙擊事件,這個只能用OnGUI的方法了,程式碼如下:
void OnGUI()
{
Event e = Event.current;
if (e.isMouse && (e.clickCount == 2))
{
Debug.Log("使用者雙擊了滑鼠");
}
}
接下來是點選滑鼠的左右中鍵的程式碼。
注意是點選中鍵而不是滾動
如下:
void Update() { if (Input.GetButton("Fire1")) { //LeftMouse是在inputManager中設定的,左鍵值為mouse 0 // PlayerMove(); Debug.Log("使用者click滑鼠左鍵"); } if (Input.GetButton("Fire3")) { //LeftMouse是在inputManager中設定的,左鍵值為mouse 0 // PlayerMove(); Debug.Log("使用者click滑鼠中鍵"); } if (Input.GetButton("Fire2")) { //LeftMouse是在inputManager中設定的,左鍵值為mouse 0 // PlayerMove(); Debug.Log("使用者click滑鼠右鍵"); } }
上述程式碼裡的Fire1等是unity預設的。
這個預設設定不止是針對滑鼠的,同時還說鍵盤,例如左shift ,左ctrl和alt等。這個可以開啟設定自己看到。
位置的路徑在unity選單的Edit--->project setting -->input裡。
如下圖:
下面說滑鼠滾輪的互動。
直接舉個例子來說,例如場景裡有個cube 。
要實現:滾輪滾動相機的的鏡頭來拉近和拉遠。
把以下指令碼繫結到cube上,然後把相機指定上去就OK。滾動的程式碼就在Update裡。
如下:
using UnityEngine;
using System.Collections;
public class followtarget : MonoBehaviour
{
public GameObject Thirdcamera;
float distance = 1;
void Update()
{
distance -= Input.GetAxis("Mouse ScrollWheel");
Thirdcamera.transform.position = this.transform.position - Vector3.forward * distance;
}
}
然後就是鍵盤雙擊事件了,
這個官方似乎沒有給出方法,所以就自創了。
我規定的是按鍵盤A鍵兩次按鍵間隔不超過0.5秒。下面是程式碼:
using UnityEngine; using System.Collections; using UnityEngine.EventSystems; public class followtarget : MonoBehaviour { private float timer = 0; public enum Clickcount { firsttime, secondtime, zerotime } Clickcount First = Clickcount.zerotime; /// <summary> /// 鍵盤雙擊功能,兩次按鍵間隔時間必須小於0.5秒 /// </summary> void Update() { timer -= Time.deltaTime; if (Input.GetKeyDown(KeyCode.A)&& First == Clickcount.zerotime) { timer = 0.5f; Debug.Log("第一次按下"); First = Clickcount.firsttime; } if (Input.GetKeyUp(KeyCode.A) && First == Clickcount.firsttime) { Debug.Log("第一次擡起"); First = Clickcount.secondtime; } if (timer < 0) { First = Clickcount.zerotime; } if (Input.GetKey(KeyCode.A) && First == Clickcount.secondtime&&timer>0f) { Debug.Log("只有雙擊出現"); First = Clickcount.zerotime; } } }
相關推薦
unity一些鍵盤滑鼠特殊觸發事件總結
首先是滑鼠雙擊事件,這個只能用OnGUI的方法了,程式碼如下: void OnGUI() { Event e = Event.current; if (e.
unity animator動畫播放是觸發事件
public void onLiu() { //要觸發的事件程式碼 } pu
Unity使用之預設體&滑鼠事件&剛體&碰撞和觸發事件
預設體: 預設體能夠使遊戲物件和資源重複使用,相同的遊戲物件可以使用同一個預設體來建立,對預設體進行修改後,所有遊戲物件都會相應改變。 遊戲物件預設體的建立: 在SampleScene中建立一個3D模型,命名player,然後在Asse
Qt事件總結(滑鼠、鍵盤)
Qt 程式需要在main()函式建立一個QCoreApplication物件,然後呼叫它的exec()函式。這個函式就是開始 Qt 的事件迴圈。在執行 exec()函式之後,程式將進入事件迴圈來監聽應用程式的事件。當事件發生時,Qt 將建立一個事件物件。Qt 中所有事件類都
unity鍵盤滑鼠事件
void Update() { //識別鍵盤輸入 //鍵盤A鍵按住 //第一種方式 "a" 必須是小寫字母 if (Input.GetKey("a")) { } //第二種
【OpenGL】-009 GLUT中處理鍵盤滑鼠事件
【OpenGL】-009 GLUT中處理鍵盤滑鼠事件 鍵盤和滑鼠是GUI程式獲取使用者輸入的重要方式,在windows程式中,通過WM_KEY_DOWN/WM_KEY_UP/WM_LBUTTONDOWN/WM_RBUTTONDOWN等訊息的響應,使用者可以方便的處理鍵盤滑鼠的輸入。在
MFC 建立鍵盤按鍵觸發事件
描述:在MFC中通過按鍵盤某些按鍵觸發一些事件 資源檢視—-Dialog—-指定介面—-類嚮導—-虛擬函式—-PreTranslateMessage 找到自動生成的方法,新增方式如下: BOOL CduiChengLianXingDlg::PreTranslat
Unity 中的滑鼠事件方法彙總(物體,UGUI)
本文將從遊戲物體(Gameobject),和UGUI,講解Unity—PC端開發中,滑鼠事件的常見功能實現 本文將幫你解決Unity中如下或者類似的事件響應問題: 遊戲物體篇 點選遊戲物體,物體消失; 滑鼠懸停在遊戲物體上,物體旋轉; 移入遊戲物體,遊戲物體變
js的改值觸發事件和鍵盤彈起觸發事件個人感覺差不多
//$('#txt_marketId').on('input propertychange', function (e) { // var marketId = $('#txt_marketId').val(); // ViewModel.co
Unity點選模型觸發事件
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Scen
matplotlib鍵盤滑鼠事件(tcy)
鍵盤滑鼠事件:2018/10/24 https://matplotlib.org/users/event_handling.html?highlight=event%20inaxes --------------------------------------------------
C#鉤子類 幾乎捕獲鍵盤滑鼠所有事件
using System; using System.Text; using System.Runtime.InteropServices; using System.Reflection; using System.Windows.Forms; namespace Mou
Android自動化測試初探(四): 模擬鍵盤滑鼠事件(Socket+Instrumentation實現)
通過Socket + Instrumentation實現模擬鍵盤滑鼠事件主要通過以下三個部分組成: * Socket程式設計:實現PC和Emulator通訊,並進行迴圈監聽 * Service服務:將Socket的監聽程式放在Service中,從而達到
cocos creator學習(七)觸控和鍵盤事件總結
1、處理事件在節點(cc.Node)中完成的。對於元件可以通過訪問節點this.node來註冊和監聽事件。監聽事件可以通過this.mode.on()函式來進行 this.node.on('mousedown',function(event){ conso
JAVA之鍵盤,滑鼠監聽事件
本案設計鍵盤按鈕,畫出一個簡易鍵盤, 通過按下,釋放鍵盤 滑鼠經過按鈕,滑鼠點選按鈕,滑鼠離開按鈕 詳細解釋了滑鼠鍵盤對應事件 先看一下鍵盤監聽介面的API void keyPressed(KeyEvent e) 按下鍵時呼叫。 void k
遮蔽右鍵,點選滑鼠觸發事件,置頂
<span style="font-family:KaiTi_GB2312;font-size:18px;">// 遮蔽瀏覽器自帶的右鍵 document.oncontextmenu = function(){ return false; } /
javascript的奇怪的問題,滑鼠點選偶數次觸發事件,單數次不觸發事件
編寫前臺頁面的javascipt程式碼時遇到的奇怪問題,排查了幾個小時,一開始抓不到頭緒,後來跟蹤javascipt程式碼時,發現該事件被累計觸發了,所以一次靈光、一次不靈光,仔細研究程式碼,發現,每次處理過程中,javascript程式都會在它的父節點註冊一回該事件,雖然
Extjs滑鼠長按事件(實現長按按鈕觸發事件的方法:mousedown、mouseup)
實現效果: 注:實現的效果其實就是監聽滑鼠長按的事件,當滑鼠左擊長按改變按鈕的樣式,當滑鼠放開之後還原按鈕的樣式。 實現方法: extjs: Ext.
Android自動化測試初探(五): 再述模擬鍵盤滑鼠事件(adb shell 實現)
上一篇博文中講述了通過Socket程式設計從外部向Emulator傳送鍵盤滑鼠模擬事件,貌似實現細節有點複雜。其實Android還有一種更簡單的模擬鍵盤滑鼠事件的方法,那就是通過使用adb shell 命令。 1.傳送鍵盤事件: 命令格式1:adb shell inp
常用JS鍵盤滑鼠事件
Keyboard 事件 屬性 值 描述 script 在使用者按下按鍵時觸發。 script 在使用者敲擊按鈕時觸發。 script 當用戶釋放按鍵時觸發。 Mous