untiy onmousedownclik 和ondown有什么区别

程序写累了,就来玩玩酷跑小游戏吧,嘿嘿。
雨松MOMO送你一首歌曲,嘿嘿。
UGUI研究院之控件以及按钮的监听事件系统(五)
UGUI研究院之控件以及按钮的监听事件系统(五)
围观189662次
编辑日期: 字体:
继续学习,我相信大家在做NGUI开发的时候处理事件都会用到UIEventListener,那么UGUI中怎么办呢?先看UGUI的事件有那些吧。
Supported Events
The Eventsystem supports a number of events, and they can be customised further in user custom user written InputModules.
The events that are supported by the StandaloneInputModule and TouchInputModule are provided by interface and can be implemented on a MonoBehaviour by implementing the interface. If you have a valid EventSystem configured the events will be called at the correct time.
IPointerEnterHandler – OnPointerEnter – Called when a pointer enters the object
IPointerExitHandler – OnPointerExit – Called when a pointer exits the object
IPointerDownHandler – OnPointerDown – Called when a pointer is pressed on the object
IPointerUpHandler – OnPointerUp – Called when a pointer is released (called on the original the pressed object)
IPointerClickHandler – OnPointerClick – Called when a pointer is pressed and released on the same object
IBeginDragHandler – OnBeginDrag – Called on the drag object when dragging is about to begin
IDragHandler – OnDrag – Called on the drag object when a drag is happening
IEndDragHandler – OnEndDrag – Called on the drag object when a drag finishes
IDropHandler – OnDrop – Called on the object where a drag finishes
IScrollHandler – OnScroll – Called when a mouse wheel scrolls
IUpdateSelectedHandler – OnUpdateSelected – Called on the selected object each tick
ISelectHandler – OnSelect – Called when the object becomes the selected object
IDeselectHandler – OnDeselect – Called on the selected object becomes deselected
IMoveHandler – OnMove – Called when a move event occurs (left, right, up, down, ect)
ISubmitHandler – OnSubmit – Called when the submit button is pressed
ICancelHandler – OnCancel – Called when the cancel button is pressed
OK 怎么样才能让UGUI监听的方式和NGUI差不多呢? 这里我给大家引一个思路,把下面代码放在你的项目里。
123456789101112131415161718192021222324252627282930313233343536373839404142
using UnityEngine;using System.Collections;using UnityEngine.EventSystems;public class EventTriggerListener : UnityEngine.EventSystems.EventTrigger{ public delegate void VoidDelegate (GameObject go); public VoidDelegate onClick; public VoidDelegate onDown; public VoidDelegate onEnter; public VoidDelegate onExit; public VoidDelegate onUp; public VoidDelegate onSelect; public VoidDelegate onUpdateSelect;& static public EventTriggerListener Get (GameObject go) {
EventTriggerListener listener = go.GetComponent&EventTriggerListener&();
if (listener == null) listener = go.AddComponent&EventTriggerListener&();
return listener; } public override void OnPointerClick(PointerEventData eventData) {
if(onClick != null)
onClick(gameObject); } public override void OnPointerDown (PointerEventData eventData){
if(onDown != null) onDown(gameObject); } public override void OnPointerEnter (PointerEventData eventData){
if(onEnter != null) onEnter(gameObject); } public override void OnPointerExit (PointerEventData eventData){
if(onExit != null) onExit(gameObject); } public override void OnPointerUp (PointerEventData eventData){
if(onUp != null) onUp(gameObject); } public override void OnSelect (BaseEventData eventData){
if(onSelect != null) onSelect(gameObject); } public override void OnUpdateSelected (BaseEventData eventData){
if(onUpdateSelect != null) onUpdateSelect(gameObject); }}
然后在你的界面里面写入监听按钮的代码。
1234567891011121314151617181920212223
using UnityEngine;using System.Collections;using UnityEngine.UI;using UnityEngine.EventSystems;using UnityEngine.Events;public class UIMain : MonoBehaviour { Button button; Image image; void Start ()
button = transform.Find("Button").GetComponent&Button&();
image = transform.Find("Image").GetComponent&Image&();
EventTriggerListener.Get(button.gameObject).onClick =OnButtonClick;
EventTriggerListener.Get(image.gameObject).onClick =OnButtonClick; }& private void OnButtonClick(GameObject go){
//在这里监听按钮的点击事件
if(go == button.gameObject){
Debug.Log ("DoSomeThings");
虽然还有一些别的监听方式,但是我觉得这种方式是最科学的,大家可根据自己项目的需求继续拓展EventTriggerListener类。
本文固定链接:
转载请注明:
雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
您可能还会对这些文章感兴趣!Unity(21)
Hello ,I am KitStar
Unity自身的Button组件可以绑定的时间状态有限。只有OnClick()。(我目前还不知道有没有其他点击状态可以简单的绑定,各位客官有的话及时给我说。)
所以自己通过几行的代码。添加更多的点击状态。想要更多丰富的功能的话。只要在对应的方法里面添加即可。
比较简单了,是个基本的父类。就几段,所以老规矩上脚本吧。
public abstract class UIEventManagers : MonoBehaviour ,IPointerClickHandler,IPointerDownHandler,IPointerEnterHandler,IPointerExitHandler,IPointerUpHandler{
public UnityEvent onPointerD
public UnityEvent onPointerUp;
public UnityEvent onPointerE
public UnityEvent onPointerC
public UnityEvent onPointerE
protected virtual void OnPointerClick(PointerEventData eventData)
onPointerClick.Invoke();
protected virtual void OnPointerExit(PointerEventData eventData)
onPointerExit.Invoke();
protected virtual void OnPointerEnter(PointerEventData eventData)
onPointerEnter.Invoke();
protected virtual void OnPointerUp(PointerEventData eventData)
onPointerUp.Invoke();
protected virtual void OnPointerDown(PointerEventData eventData)
onPointerDown.Invoke();
# region .
void IPointerClickHandler.OnPointerClick(PointerEventData eventData)
OnPointerClick(eventData);
void IPointerDownHandler.OnPointerDown(PointerEventData eventData)
OnPointerDown(eventData);
void IPointerEnterHandler.OnPointerEnter(PointerEventData eventData)
OnPointerEnter(eventData);
void IPointerExitHandler.OnPointerExit(PointerEventData eventData)
OnPointerExit(eventData);
void IPointerUpHandler.OnPointerUp(PointerEventData eventData)
OnPointerUp(eventData);
#endregion .
2. 再写一些脚本。继承这个,然后丰富自己的功能吧
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:79247次
积分:1356
积分:1356
排名:千里之外
原创:44篇
转载:32篇
评论:38条
(6)(5)(9)(11)(3)(7)(6)(7)(8)(5)(3)(2)(10)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'walk on ----在什么上行走,比如
walk on the street
walk along---沿着。。走
walk along the river
walk up---朝上走,朝这边/近处走
Walk up the street!朝街的这边(靠说话人)这边走。
walk down 相反的意思
along沿着,不一定是直的.
straight:就是直的,直接的,不停留,不拐弯
down: 沿着下去,有的时候是上北下南,down也会是南边.
只有爱可以说重来或走开。
意思是:只有最真挚的情感才能帮人们作出正确的选择。
别忽略了真实的想法和心里的声音。
你的系统如果在上次运行的时候出现了问题(一般是比较严重的问题),这次开机就会有这两个项目,用来保存错误记录的,这是很正常的,一般你再开一次机就会自动消失。
简单的说就是陪你练级,抢经验 抢宝 杀红血兵
UD的DK是3陪的好人选,缠绕的攻击里能抢经验,也能杀红血兵,邪恶光环让他来去自如.
其他的比较常见的就是BM 和...
答: 1,雅思主要是针对出国得语言考试,况且有效期只有2年.
国内的大企业一般不是很看重雅思成绩,而有的企业因为你有雅思成绩,会担心你工作不稳定,有出国的打算.
答: 百度上搜“ENGLISH211”第一个结果就是了
答: 科学教育片
science and educational film
答: 会出来的,等嘛
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区cut down 与 cut down on都表示减少时,用法有什么不同_百度知道
cut down 与 cut down on都表示减少时,用法有什么不同
我有更好的答案
pending/ production 削价/减税&#47,cut down on 都有reduce 的意思,在用法上应该没有什么区别.cut prices/ taxes&#47作动词,cut,cut down
每天开口笑
来自:百度作业帮
为您推荐:
其他类似问题
委内瑞拉的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。相关文章推荐
UGUI中普通的事件触发方法之前已经了,现在讲一下另一种触发事件的方法,这种方法不仅可以让2D的UGUI触发还可以让一个3D物体来触发某个方法。
首先写一个脚本用来写一个触发事件的log方法...
UGUI基于EventTrigger的UI交互事件监听系统&动态加载UGUI中做交互,简单的会用到Button组件,但是仅仅支持点击事件触发;但有另外一个EventTriggger组件,可以支持更过交...
using UnityE
using System.C
public class EventTriggerTest : MonoBehaviour ...
转载自:/blog-.html
unity5.0开发了新的UI系统UGUI,附带的事件系统EventSystem不仅可以用于UI,...
怎样才能完成Unity3d使用UGUI实现长按功能呢?可能许多人也不是很清楚,现在我们就来看一下。
UGUI的Button组件只有OnClick事件的监听,要实现长按功能,要监听按下事...
Unity3D的uGUI系统的将UI可能触发的事件分为12个类型,即EventTriggerType枚举的12个值。如下图所示:
先以PointerClick为例。这个是用于某点点击事件...
事件基础类
using System.C
namespace Assets.Scripts.Test
public enum CEventType//事件ID
大家在开发Unity的时候,为了方便开发一般都会采用消息事件,消息事件主要是做啥的?我们如何去封装,如何去运用消息事件处理事情。接下来就给大家介绍一下:
消息事件顾名思义,是通过消息触发的事件。...
这边文章主要是针对刚踏入这行的程序员,是我工作半年多来积累下来的一些经验,仅作为参考,也希望各位经验丰富的前辈多批评指正。 我是专科生毕业,我们学校所教的C#的内容其实只有非常非常基础的那些...
他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 untiy onmousedown 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信