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

Unity 鼠标控制 UI 放大、缩小、拖拽

文章目录

  • 1. 代码
  • 2. 测试场景

1. 代码

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;public class UIDragZoom : MonoBehaviour, IDragHandler, IScrollHandler
{private Vector2 originalSize;private Vector2 originalPosition;private RectTransform rectTransform;private float minSize = 30f;private float maxSize = 200f;private void Start(){rectTransform = GetComponent<RectTransform>();originalSize = rectTransform.sizeDelta;originalPosition = rectTransform.anchoredPosition;}public void OnDrag(PointerEventData eventData){rectTransform.anchoredPosition += eventData.delta;}public void OnScroll(PointerEventData eventData){float scroll = eventData.scrollDelta.y;Vector2 newSize = rectTransform.sizeDelta + Vector2.one * scroll;float temp = Mathf.Clamp(newSize.x, minSize, maxSize);newSize = new Vector2(temp, temp);rectTransform.sizeDelta = newSize;}public void ResetUI(){rectTransform.sizeDelta = originalSize;rectTransform.anchoredPosition = originalPosition;}
}

2. 测试场景

在这里插入图片描述

http://www.lryc.cn/news/125606.html

相关文章:

  • tensorflow 模型计算中,预测错误;权重参数加载
  • Jay17 2023.8.14日报 即 留校集训阶段性总结
  • 【C语言】小游戏-扫雷(清屏+递归展开+标记)
  • 云服务 Ubuntu 20.04 版本 使用 Nginx 部署静态网页
  • 无后效性
  • Kubernetes系列-删除deployment和pod
  • kotlin字符串方法
  • ubuntu篇---配置FTP服务,本机和docker安装
  • SpringBoot中properties、yml、yaml的优先级
  • SHELL 基础 SHELL注释 及 执行SHELL脚本的四种方法
  • 【Spring】深入探索 Spring AOP:概念、使用与实现原理解析
  • LocalDate介绍和使用
  • 三、使用注解形式开发 Spring MVC程序
  • 【Go】常见的四个内存泄漏问题
  • 【LeetCode-简单】剑指 Offer 29. 顺时针打印矩阵(详解)
  • TOMCAT基础
  • 自动化集装箱码头建设指南
  • 为什么要用redis
  • QT qmake解析
  • 【TypeScript】this指向,this内置组件
  • MySQL 深度分页优化
  • 如何在CSS中水平居中一个元素?
  • 生信豆芽菜-ESTIMATE预测免疫评分
  • 分享一颗能用在TYPE-C接口取电协议芯片LDR6328Q,方便好用
  • 【java】Java与SQLite3数据库类型之间对应关系
  • ELK常见部署架构以及出现的问题及解决方案
  • windows使用vscode配置java开发环境
  • centos系统kubeadm安装K8S_v1.27.x容器使用docker(K8S_v1.24版本以后依然使用docker容器管理)
  • 如何使用索引加速 SQL 查询 [Python 版]
  • Oracle 开发篇+Java通过DRCP访问Oracle数据库