UGUI—事件,iTween插件

2023-10-26

预计两三天内,做2048游戏和一款自己编写的方块小游戏~期待一下喽!

每日一句:游戏制作是声色张扬下我欲盖弥彰的温柔理想

目录

UGUI事件

事件注册:

·通过编辑器绑定方法

·AddListener

·实现接口

·自定义框架

iTween动画库

自动布局组控件

Grid Layout Group

Horizontal Layout Group

Vertical Layout Group


UGUI Draw Calls优化精灵图集 - Unity 手册

UGUI事件

事件注册:

·通过编辑器绑定方法

·AddListener

void Start()

{ Button btn=this.transform.Find(“Button”).GetComponent<Button>();

  btn.onClick.AddListener(方法名);//无参数、返回值的方法

//public delegate void UnityAction();}

·实现接口

 

拖拽类:

IBeginDragHandler拖拽的第一帧执行

IDragHandler拖拽的每一帧执行

IEndDragHandler(先)结束拖拽执行

IDropHandler(后)

鼠标指针类

IPointerEnterHandler

IPointerExitHandler光标离开执行

IPointerDownHandler

IPointerUpHandler

IPointerClickHandler

点选类

IUpdateSelectedHander点了选中每帧执行

ISelectHander选中一帧执行

IDeselectHander不选的那一帧执行

输入类    建立在点选的基础上

IScrollHandler 选中UI,在UI上滑动鼠标滚轮时调用

IMoveHandler                    移动

ISubmitHandler                  敲回车

ICancelHandler                  按Esc

public class NewBehaviourScript : MonoBehaviour,IDragHandler

{

    //当拖拽时执行

    public void OnDrag(PointerEventData eventData)

    {

        //eventData.position:光标位置(屏幕坐标)

        //仅仅适用于overlay模式

        //his.transform.position = eventData.position;

        //Canvas Render Mode任意模式都使用——>

        //将屏幕坐标转换为物体的世界坐标

        RectTransform parentRTF = this.transform.parent as RectTransform;

        Vector3 worldPos;

        //(父物体的变换组件,屏幕坐标,摄像机,out 世界坐标)

        RectTransformUtility.ScreenPointToWorldPointInRectangle

            (parentRTF, eventData.position, eventData.pressEventCamera, out worldPos);

        this.transform.position = worldPos;

}

}

要求:点哪里以哪里为坐标移动

 

using UnityEngine;

using UnityEngine.EventSystems;

public class NewBehaviourScript : MonoBehaviour,IPointerDownHandler,IDragHandler

{

     Vector3 offset;//记录从按下点到中心点偏移量(坐标)

     Vector3 worldPos;

    public void OnPointerDown(PointerEventData eventData)

    {

        RectTransform parentRTF = this.transform.parent as RectTransform;

        //(父物体的变换组件,屏幕坐标,摄像机,out 世界坐标)

        RectTransformUtility.ScreenPointToWorldPointInRectangle

            (parentRTF, eventData.position, eventData.pressEventCamera, out worldPos);

        offset = this.transform.position - worldPos;

    }

    //当拖拽时执行

    public void OnDrag(PointerEventData eventData)

    {

        

        RectTransform parentRTF = this.transform.parent as RectTransform;

        Vector3 worldPos;

        //(父物体的变换组件,屏幕坐标,摄像机,out 世界坐标)

        RectTransformUtility.ScreenPointToWorldPointInRectangle

            (parentRTF, eventData.position, eventData.pressEventCamera, out worldPos);

        this.transform.position = worldPos+offset;

    }

}

·自定义框架

iTween动画库

目的:以最小的投入实现最大的产出,轻松实现各种动画晃动、旋转、移动以及褪色等

物体移动 MoveTo  颜色渐变ColorTo

物体淡入淡出FadeTo

摄像机淡入淡出CameraFadeAdd CameraFadeTo

注视旋转LookTo 物体旋转RotateTo

物体缩放 ScaleTo

晃动 PunchPosition PunchRotation PunchScale

震动 ShakePosition ShakeRotation ShakeScale

 //缓动曲线

  public Transform imgTF, btnTF;

    public iTween.EaseType type;

    private void Start()

    {

        //iTween.MoveTo(imgTF.gameObject, btnTF.position, 3);

        //(谁移,移到哪里,移动时间)

        iTween.MoveTo(imgTF.gameObject, iTween.Hash(

            "position",btnTF.position,

            "speed",50,

            "easetype",type

            ));

    }

iTween for Unity by Bob Berkebile (pixelplacement)

 

自动布局组控件

Grid Layout Group

网格布局组,将子元素以表格形式自动排列

属性:

Start Corner开始角度 Start Axis开始轴向

Constraint 约束

Flexible 灵活的 Fixed Column Count 固定列数

Fixed Row Count固定行数

Horizontal Layout Group

水平布局组,将子元素按照水平方向自动排列

属性:

Padding填充

Left 左边距 Right 右边距

Top上边距 Botton下边距

Spacing间隔

Child Alignment 元素的对齐方式

Child Force Expand 元素展开

Vertical Layout Group

垂直布局组,将子元素按照垂直方向自动排列

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UGUI—事件,iTween插件 的相关文章

  • html制作精美导航栏

    文章目录 一 效果展示 二 实现步骤 1 html 2 css 3 js 一 效果展示 二 实现步骤 1 html 代码如下 示例 div class navcontainer div

随机推荐

  • intellij idea Entity类报错“Cannot resolve table”

    intellij idea 报如下图的错 解决方法如下 1 点击菜单 view gt Tool Windows gt Persistence 2 右击项目 选择Assign Data Source 3 Data Source 选择数据库
  • MATLAB实现BO-CNN-GRU贝叶斯优化卷积门控循环单元多输入分类预测

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统 信号
  • Linux常识型试题

    http www linuxdiyf com viewarticle php id 202718 一 填空题 1 链接分为 和 2 安装Linux系统对硬盘分区时 必须有两种分区类型 和 3 内核分为进程管理系统 I O管理系统和 等四个子
  • anki插件【Enhance main window】配置

    book symbol cap value null color empty red color empty descendant green color zero false columns absolute true color be3
  • TCP/IP三次握手

    序列号seq 占4个字节 用来标记数据段的顺序 TCP把连接中发送的所有数据字节都编上一个序号 第一个字节的编号由本地随机产生 给字节编上序号后 就给每一个报文段指派一个序号 序列号seq就是这个报文段中的第一个字节的数据编号 确认号ack
  • 三种方法使用FFmpeg截取视频片断

    如何以 3 种简单的方式使用 FFmpeg 剪切视频 提取 修剪 2020 年 10 月 12 日 Krishna Rao Vijayanagar FFmpeg 在本教程中 我们将了解如何使用 FFmpeg 以 3 种不同的方式剪切 修剪
  • 渗透测试工程师的一些面试题2(同样适合一些刚入门的小白看哦~~~!)

    一 信息收集 服务器的相关信息 真实ip 系统类型 版本 开放端口 WAF等 网站指纹识别 包括 cms cdn 证书等 dns记录 whois信息 姓名 备案 邮箱 电话反查 邮箱丢社工库 社工准备等 子域名收集 旁站 C段等 googl
  • Qt5开发从入门到精通——第一篇概述

    欢迎小伙伴的点评 相互学习 互关必回 全天在线 博主 本着开源的精神交流Qt开发的经验 将持续更新续章 为社区贡献博主自身的开源精神 文章目录 一 什么是 Qt 1 1 Qt 的发展 1 2 Qt 版本说明 1 3 Qt5开发环境简介 二
  • 约瑟夫问题(Java环形列表实现)

    package linkedList public class Joseph public static void main String args CircleLinkList cir new CircleLinkList cir add
  • 陆续收集 UE4 常用的宏的用法

    UPROPERTY EditAnywhere 任何地方 UPROPERTY EditDefaultsOnly 只有在类的编辑界面 UPROPERTY EditInstanceOnly 只有在拖拽到场景下类的编辑界面 UClass meta
  • Linux终端界面的字体颜色设置

    目录 说明 PS1 颜色语法 保存设置 说明 在网上找了好多资料都不是很详细 要不就是语法有错误 所以弄了好久才整明白了 写下来方便后面的人学习 本人Linux虚拟机版本为CentOS 6 5其他的版本的可能又细微区别哈 PS1 PS1是L
  • C++ Primer 学习笔记 第八章 IO库

    C 不直接处理输入输出 而是通过一族定义在标准库中的类型来处理IO 这些类型支持从设备读取数据 向设备写入数据的IO操作 设备可以是文件 控制台窗口等 IO库定义了读写内置类型值的操作 此外 一些类 如string 通常也会定义类似的IO操
  • 自动化测试基础

    1 自动化测试定义 自动化测试就是实用软件来控制测试案例的执行 对测试进行自动化的过程就是写一段代码来代替人工测试 可以分为两种方式 代码驱动测试 通过大量的输入参数和对应的返回结果 来验证类 模块 或者库文件的公共接口是否正确 普遍使用测
  • xss-labs前五关 详细

    其它xss文章 以xss labs举例反射型xss注入的方式及基本思路 xss实验并对注入点 注入语句及危害知识总结 other article to be continue 第一关 lt 1 gt 解法 直接在url栏的name 后输入
  • 钻石基础知识介绍

    钻石参数 4C 最重要的钻石的重量也就是克拉数 克拉数有一个克拉溢价 也就是30分 50分 1克拉 1 5克拉 2克拉 2 5克拉 达到这些阈值的时候 价格会成倍增长 因此对于自己戴的买一些低于阈值的钻石更划算 但是如果想要保值还是尽量买高
  • ARPA x 京东数科:隐私计算如何赋能未来金融数据共享

    数据是现代商业与个人的核心价值与重要资产 数据正在重新塑造人类生活的方方面面 IDC Research统计2019年大数据和分析市场的销售收入约为1870亿美元 跨机构 跨行业的数据融合 联合分析和建模的需求日趋增加 但由于数据本身可复制
  • 快手出海求生

    配图来自Canva可画 随着八月接近尾声 众多上市公司的中期成绩单纷纷出炉 这其中就有视频社区B站 游戏直播斗鱼等内容平台的财报 不过 从其披露的财报中可以看出 如今内容平台的发展都不容乐观 而作为 短视频双雄之一 的快手近期交出的答卷中
  • WebSphere之wasprofile.sh使用

    概要文件 profile 6 0版本以后才有profile 目的是将用户数据和was本身的文件分开 这样可以定义多个profile 每个profile相当于一个用户 相当于提供了多用户的支持 profile的命令说明 新建 wasprofi
  • vue-echarts饼图/柱状图点击事件

    在实际的项目开发中 我们通常会用到Echarts来对数据进行展示 有时候需要用到Echarts的点击事件 增加系统的交互性 一般是点击Echarts图像的具体项来跳转路由并携带参数 当然也可以根据具体需求来做其他的业务逻辑 下面就Echar
  • UGUI—事件,iTween插件

    预计两三天内 做2048游戏和一款自己编写的方块小游戏 期待一下喽 每日一句 游戏制作是声色张扬下我欲盖弥彰的温柔理想 目录 UGUI事件 事件注册 通过编辑器绑定方法 AddListener 实现接口 自定义框架 iTween动画库 自动