using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
/// <summary>
/// 鼠标拖动UI  滚轮缩放大小
/// </summary>public class PageDragToZoom : MonoBehaviour, IPointerExitHandler, IPointerEnterHandler, IBeginDragHandler, IDragHandler
{/// <summary>/// 缩放速度/// </summary>private float wheelSpeed = 0.1f;/// <summary>/// 是否缩放(鼠标进入退出 判断)/// </summary>public bool isTrue;Vector3 _originScale;//初始大小Vector3 _originPoint;//初始位置public Button _closeButton;//复位Vector3 offPos;Vector3 arragedPos;//Vector3 _scaleOne;//public Transform _ThisTransform;void Start(){_originPoint = this.transform.position;_originScale = this.transform.localScale;_closeButton.onClick.AddListener(CloseImage);//_scaleOne = transform.localScale;}void Update(){//UI最大可以放到两倍if (transform.localScale.x >= 2 || transform.localScale.x >= 2){transform.localScale = new Vector3(2, 2, 2);}//UI最小可以缩小两倍if (transform.localScale.x <= 0.2f || transform.localScale.x <= 0.2f){transform.localScale = new Vector3(0.2f, 0.2f, 0.2f);}//通过鼠标滚轮键来对照片进行缩放if (isTrue == true){// Debug.Log("通过鼠标滚轮键来对照片进行缩放");transform.localScale += new Vector3(Input.mouseScrollDelta.y * wheelSpeed, Input.mouseScrollDelta.y * wheelSpeed, Input.mouseScrollDelta.y * wheelSpeed);}}/// <summary>/// 回到初始状态/// </summary>private void CloseImage(){this.transform.position = _originPoint;this.transform.localScale = _originScale;}/// <summary>/// 鼠标进入/// </summary>/// <param name="eventData"></param>public void OnPointerEnter(PointerEventData eventData){isTrue = true;}/// <summary>/// 鼠标退出/// </summary>/// <param name="eventData"></param>public void OnPointerExit(PointerEventData eventData){isTrue = false;}/// <summary>/// 开始拖拽的时候/// </summary>/// <param name="eventData"></param>public void OnBeginDrag(PointerEventData eventData){if (RectTransformUtility.ScreenPointToWorldPointInRectangle(transform.GetComponent<RectTransform>(), Input.mousePosition, eventData.enterEventCamera, out arragedPos)){offPos = transform.position - arragedPos;}}/// <summary>/// 拖拽中/// </summary>/// <param name="eventData"></param>public void OnDrag(PointerEventData eventData){transform.position = offPos + Input.mousePosition;}}

unity 鼠标拖动UI 滚轮缩放大小相关推荐

  1. Unity 鼠标拖动UI

    拖动UI 第一种: using UnityEngine; using UnityEngine.EventSystems;public class test : MonoBehaviour, IDrag ...

  2. Unity鼠标拖动物体、按下鼠标左键旋转观察物体、鼠标滚轮缩放视野

    如题目所示,本文实现这三个效果.所有代码都在pc端成功运行,移植到手机端改变相应的判断条件即可,核心算法没有问题. 一. 鼠标拖拽移动物体 效果演示 源代码 public class mousedra ...

  3. ceisum禁止鼠标左键和右键拖动,滚轮缩放事件

    禁止鼠标左键拖动事件 cesiumview.scene.screenSpaceCameraController.enableRotate=false; 禁止鼠标中键缩放 cesiumview.scen ...

  4. unity 2d地图tilemap滚轮缩放出现缝隙解决办法

    今天做瓦片地图时发现滑动滚轮会地图出现缝隙,如下图 试了网上好几种方法,修改单元格间隙.修改单元格大小.在项目设置里关闭抗锯齿等都试过了,还是无法解决. 一番百度之后发现是sprite editor切 ...

  5. Unity鼠标拖动3D物体移动,并限制拖动范围

    using UnityEngine; using System.Collections;public class DragObject : MonoBehaviour {/// <summary ...

  6. unity 鼠标进入UI和退出UI

    UGUI button 鼠标悬浮打印` using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public ...

  7. unity 鼠标放置 ui_ui层次结构以及不常见但至关重要的任务放置在哪里

    unity 鼠标放置 ui Modern technology is complex. It's not always complicated though, thanks to our consta ...

  8. 【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制的背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 以当前鼠标指针位置为缩放中心 示例 )

    文章目录 一.鼠标滚轮缩放的中心点设置为当前鼠标中心点 - 要点分析 1.保存当前鼠标指针指向的位置 2.根据鼠标指针指向的位置以及比例重新计算图片位置 二.绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩 ...

  9. webstorm在哪里设置Ctrl+鼠标滚轮缩放界面大小教程

    webstorm在哪里设置Ctrl+鼠标滚轮缩放界面大小教程 步骤如下: ①.打开webstorm软件,点击左上角的file ②.点击Setting(设置) ③.点击Editor ④.点击Genera ...

最新文章

  1. 获取人口_Human Terrain——世界人口三维可视化
  2. 点到点与端到端通信有什么区别:
  3. Beta 冲刺(5/7)
  4. 英特尔变身数据公司 未来最大数据市场定是中国
  5. ES6的export与Nodejs的module.exports比较
  6. Contest Leaderboard(分组、聚合、连接)
  7. 浅谈地方门户网站运营思路
  8. ibatis与spring的整合
  9. Maven超详细配置
  10. [转载] numpy.argmin 使用
  11. 【kuangbin专题】Manacher
  12. 机械工程师手册 pdf版下载_现代机械零部件设计手册 [于惠力 编]pdf下载0284
  13. [CTF]学习资源推荐
  14. 3月第2周易盾业务风控关注 | 新版个人信息安全规范正式发布
  15. 佛系前端面试题记录--第六周
  16. 【MicroPython ESP32】超低功耗协处理器(ULP):睡眠模式示例详解
  17. 扔掉代码,程序员月薪达到了10k+
  18. 微信开发常见问题:自动音乐播放,alert 显示网址
  19. 大环境之下软件测试行业趋势能否上升?
  20. python怎么做大数据_python可以做大数据

热门文章

  1. 20、斐⽒数列是公元13世纪数学家斐波拉契发明的。即: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ……, 输出其前15项。
  2. 一些电子资源的分享(1)
  3. mysql设备未就绪_SQL Server 返回了错误 21(设备未就绪。) 解决方法
  4. react-native打包图片资源的大坑啊
  5. 使用微信小程序怎么用wx.storage来实现收藏功能?
  6. 小米联合金山云发布“1KM边缘计算” 携手布局“云+边缘”新赛道
  7. 超稳定的接口——淘宝/天猫获得淘宝商品详情
  8. Oracle读书列表
  9. 华为交换机批量加入 Vlan 方法
  10. 使用 Vue SVG 快速绘制曲线图(带动画)