当前位置: 首页 > wzjs >正文

免费网站制作作业今日足球赛事推荐

免费网站制作作业,今日足球赛事推荐,wordpress 菜单分类,wordpress 主题 h5事件:玩家和游戏交互的一种方式 键盘、鼠标、手柄、麦克风、重力检测,触摸,VR(手柄,眼镜) 自定义点击实现 由于Unity是组件化开发思想,所以自定义按钮也是使用组件Script实现 编写自定义事件步…

事件:玩家和游戏交互的一种方式

        键盘、鼠标、手柄、麦克风、重力检测,触摸,VR(手柄,眼镜)

自定义点击实现

        由于Unity是组件化开发思想,所以自定义按钮也是使用组件Script实现

编写自定义事件步骤

1.引入自定义事件命名空间(UnityEngine.EventSystems)

2.实现自定义事件Interface

3.用户交互会触发回调函数

点击事件接口系列

IPointerEnterHandler:鼠标光标移入射线检测区域,触发回调函数

IPointerExitHandler:鼠标光标移出射线检测区域,触发回调函数

IPointerDownHandler:鼠标在射线检测区域中按下,触发回调函数

IPointerUpHandler

        前提:需要先触发按下事件

        情况1:鼠标在射线检测区域中按下并抬起(正常点击)

        情况2:鼠标在射线检测区域中按下,移出射线检测区域后抬起(点击后取消)

IPointerClickHandler:鼠标在射线检测区域中按下并抬起,触发回调函数,Up的情况2是不会触发Click事件的。

//如果自定义事件,需要引入Unity的事件系统命名空间
using UnityEngine.EventSystems;
public class MyButton:MonoBehaviour,
IPointerEnterHandler,IPointerExitHandler,
IPointerDownHandler,IPointerUpHandler
{//鼠标移入射线检测区域后,执行回调函数public void OnPointerEnter(PointerEventData eventData){Debug.Log("鼠标移入");}//显式实现接口的抽象方法(避免多个接口中,抽象方法重名)//鼠标移出射线检测区域后,执行回调函数void IPointerExitHandler.OnPointerExit(PointerEventData eventData){Debug.Log("鼠标移出");}public void OnPointerDown(PointerEventData eventData){Debug.Log("按钮已被按下,执行对应方法");}void IPointerUpHandler.OnPointerUp(PointerEventData eventData){Debug.Log("按钮在按下后被抬起,执行对应方法");}//编写Start生命周期函数,组件在编辑器中才会显示private void Start(){}
}

挂载到按钮后移入移出及按下抬起运行如下:

为脚本添加事件:

using UnityEngine.Events;//引用事件所需命名空间
public UnityEvent onClick; //在类中声明事件
onClick.Invoke();//执行onclick中添加的回调函数

长按实现
    public UnityEvent OnLongClickBegin;public UnityEvent OnLongClickEnd;public float longClickTime=3f;private float pressedTime = 0f;private bool isPressed = false;private bool isInLongClick = false;  //在前代码的基础上增加的新的代码,自行修改调试public void OnPointerDown(PointerEventData eventData){Debug.Log("按钮已被按下,执行对应方法");isPressed = true;}void IPointerUpHandler.OnPointerUp(PointerEventData eventData){Debug.Log("按钮在按下后被抬起,执行对应方法");pressedTime= 0;isPressed= false;if (isInLongClick){isInLongClick= false;OnLongClickEnd.Invoke();}}private void Update(){//一旦开始按下按钮,则开始使用帧间距时间,记录按下的时间if (isPressed){//每帧检测,如果按下的时间超过了设置的长按阈值,则触发长按事件if (!isInLongClick && pressedTime > longClickTime){//一旦开始长按,就处于长按状态中isInLongClick = true;OnLongClickBegin.Invoke();}pressedTime += Time.deltaTime;}}//挂载在onclick事件上的脚本,另起脚本
public class TestMyButton : MonoBehaviour
{public void LongClickBegin(){Debug.Log("开始长按");}public void LongClickEnd(){Debug.Log("结束长按");}
}

该系列专栏为网课课程笔记,仅用于学习参考。

http://www.dtcms.com/wzjs/295855.html

相关文章:

  • 上海高凡猎头公司上海seo外包
  • 杭州网站建设交易专业seo网站优化推广排名教程
  • 网站开发人员岗位要求台州网站建设
  • 腾讯云网站备案流程图百度关键词推广一年多少钱
  • html制作一个个人主页网站谷歌搜索引擎免费入口镜像
  • 做网站,就上凡科建站谷歌推广公司哪家好
  • 烟台优化网站公司咸阳网站建设公司
  • 优秀的图片设计网站乐天seo培训中心
  • 营销建设网站制作下列关于友情链接说法正确的是
  • 广东专业网站建设报价友情链接的方式如何选择
  • 网站建设代码题全国培训机构排名前十
  • 做网站软件frontpage互联网营销师含金量
  • 网站中英文切换怎么做网站免费推广方式
  • 乐清网站推广制作电话营销
  • css网站下拉菜单怎么做百度推广关键词怎么设置好
  • 海口网站建设在线百度网站收录入口
  • 南昌营销网站开发江门网站开发多少钱
  • mysql网站后台管理系统下载优化关键词排名的工具
  • php网站模板怎么修改石家庄seo顾问
  • 网站建设期末题答案google安卓手机下载
  • 做交友网站赚钱吗应用商店优化
  • 安徽工业大学两学一做网站实体店营销策划方案
  • 视频网站如何做seo网络营销的概念和含义
  • 龙岗建设网站制作搜索引擎
  • 南京平台网站建设近三天重大新闻摘抄
  • wordpress 数据库 插件seo排名优化培训怎样
  • 外贸网站怎么做效果好北京突发重大消息
  • 国外金融网站设计欣赏徐州seo培训
  • mac 网站开发软件网站建设多少钱
  • 黄骅港天气预报上海关键词排名手机优化软件