开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

教程分享

关注:594

当前位置:游戏蛮牛 技术专区 教程分享

查看: 557|回复: 4

[系列教程] Unity教程之-对UGUI长按事件的实现

[复制链接]  [移动端链接]
排名
33356
昨日变化
113

2

主题

2

帖子

9

积分

Rank: 1

UID
185535
好友
0
蛮牛币
22
威望
0
注册时间
2016-11-21
在线时间
1 小时
最后登录
2016-12-12
发表于 2016-11-28 15:12:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
  在使用UGUI过程中,有时我们想长按钮按,执行某个功能,但UGUI只有简单的单击功能,下面我们来看下UGUI长按事件的实现,贴上代码
  using UnityEngine;
  using System.Collections;
  using UnityEngine.Events;
  using UnityEngine.EventSystems;
  using UnityEngine.UI;[AddComponentMenu(“UI/LongPressButton”)] public class UILongPressButton : Selectable, IPointerDownHandler,IPointerExitHandler,IPointerUpHandler
  {
  [SerializeField] UnityEvent m_onLongPress = new UnityEvent();
  float interval = 0.1f;
  float longPressDelay = 0.5f;
  private bool isTouchDown = false;
  private bool isLongpress = false;
  private float touchBegin = 0;
  private float lastInvokeTime = 0;
  // Update is called once per frame
  void Update ()
  {
  if (isTouchDown && IsPressed() && interactable)
  {
  if (isLongpress)
  {
  if (Time.time – lastInvokeTime > interval)
  {
  m_onLongPress.Invoke();
  lastInvokeTime = Time.time;
  }
  }
  else
  {
  isLongpress = Time.time – touchBegin > longPressDelay;
  }
  }
  }
  public void OnPointerDown(PointerEventData eventData)
  {
  base.OnPointerDown(eventData);
  touchBegin = Time.time;
  isTouchDown = true;
  }
  public void OnPointerExit(PointerEventData eventData)
  {
  base.OnPointerExit(eventData);
  isTouchDown = false;
  isLongpress = false;
  }
  public void OnPointerUp(PointerEventData eventData)
  {
  base.OnPointerUp(eventData);
  isTouchDown = false;
  isLongpress = false;
  }
  }
  好了,本篇unity3d教程到此结束,下篇我们再会!


回复

使用道具 举报

3偶尔光临
183/300
排名
8587
昨日变化
6

0

主题

40

帖子

183

积分

Rank: 3Rank: 3Rank: 3

UID
158571
好友
0
蛮牛币
476
威望
0
注册时间
2016-7-25
在线时间
63 小时
最后登录
2017-3-10
发表于 2016-11-29 14:02:26 | 显示全部楼层
为毛不加上注释啊

回复 支持 反对

使用道具 举报

5熟悉之中
538/1000
排名
4912
昨日变化
40

11

主题

106

帖子

538

积分

Rank: 5Rank: 5

UID
164305
好友
0
蛮牛币
548
威望
0
注册时间
2016-8-29
在线时间
237 小时
最后登录
2017-3-23
发表于 2016-11-29 17:35:53 | 显示全部楼层
有错误呢,没有注释也没有解释,放一段有问题的代码没意思

回复 支持 反对

使用道具 举报

3偶尔光临
274/300
排名
6566
昨日变化
7

2

主题

80

帖子

274

积分

Rank: 3Rank: 3Rank: 3

UID
173990
好友
1
蛮牛币
368
威望
0
注册时间
2016-10-8
在线时间
66 小时
最后登录
2017-3-10
发表于 2016-12-6 09:30:00 | 显示全部楼层
sdffffaaaaaaaaaaaaaa

回复 支持 反对

使用道具 举报

排名
27742
昨日变化
21

0

主题

24

帖子

46

积分

Rank: 1

UID
191862
好友
0
蛮牛币
11
威望
0
注册时间
2016-12-13
在线时间
17 小时
最后登录
2017-3-15
发表于 2016-12-13 15:28:27 | 显示全部楼层
据说回复可能有奖励,哈哈

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表