using System.Collections;
using System.Collections.Generic;
using UnityEngine;/// <summary>
/// 相机脚本,平滑移动
/// </summary>
public class CameraFollowCtrl : MonoBehaviour
{/// <summary>/// 2D镜头缩放范围/// </summary>public float maxSD = 20.0f;public float minSD = 1f;public float zoooSpeed = 0.3f;private Vector2 start;private Vector2 drag;private Vector3 pos;private bool isDrag;private void OnGUI(){if(Event.current.type == EventType.MouseDown){start = Event.current.mousePosition;}if(Event.current.type == EventType.MouseDrag){drag = Event.current.mousePosition;Vector3 vecStart = Camera.main.ScreenToWorldPoint(new Vector3(start.x, -start.y, 0));Vector3 vecdrag = Camera.main.ScreenToWorldPoint(new Vector3(drag.x, -drag.y, 0));pos = vecdrag - vecStart;start = drag;isDrag = true;}elseisDrag = false;}void Update(){Zoom();//缩放if(isDrag){var x = transform.position.x;x = x - pos.x;x = Mathf.Clamp(x, -8.0f, 8.1f);//添加限制,最大值和最小值var y = transform.position.y;y = y - pos.y;y = Mathf.Clamp(y, -5.0f, 5.1f);//添加限制,最大值和最小值transform.position = new Vector3(x, y, transform.position.z);}}/// <summary>/// 按鼠标滚轮缩放/// </summary>void Zoom(){//实现滑轮拖动if(Input.GetAxis("Mouse ScrollWheel") < 0){if(Camera.main.orthographicSize <= maxSD){Camera.main.orthographicSize += zoooSpeed;//相机正交模式(2D)}}//Zoom inif(Input.GetAxis("Mouse ScrollWheel") > 0){if(Camera.main.orthographicSize >= minSD){Camera.main.orthographicSize -= zoooSpeed;//相机正交模式(2D)}}}
}

代码如上,附给相机,相机设置为orthographic

unity相机远近缩放和拖拽移动相关推荐

  1. C#实现GDI+基本图的缩放、拖拽、移动

    C#实现GDI+基本图的缩放.拖拽.移动示例代码如下: using System;using System.Collections.Generic;using System.ComponentMode ...

  2. UE4 二维地图的缩放与拖拽操作

    这里写自定义目录标题 UE4 二维地图的缩放与拖拽操作 拖拽和缩放 基础搭建 添加小图标 地图缩放 地图拖拽 实现部分 效果展示 小图标的重合显示 效果展示 UE4 二维地图的缩放与拖拽操作 纯蓝图实 ...

  3. 图片的旋转,缩放和拖拽

    由于之前公司项目的原因,我被要求完成一个头像上传功能,其中包括要实现上传图片的旋转,缩放和拖拽,更关键的是要用JS实现... 作为一个不大喜欢用JS的人来说这是一个很严峻的挑战,不过随着项目的进行我的 ...

  4. html5 canvas图片缩放,拖拽

    想用html5 canvas来实现地图功能 主要是想把地图功能集合在系统中,而不是使用类似geoserver等发布,相当于两套系统了.地图是室内地图,所以高德百度什么的没用.我的理想情况是丢一副矢量图 ...

  5. flutter实现可缩放可拖拽双击放大的图片功能

    ### flutter_drag_scale ``` 可缩放可拖拽的功能,可实现图片或者其他widget的缩放已经拖拽 并支持双击放大的功能 ``` 我们知道官方提供了双击缩放,但是不支持拖拽的功能, ...

  6. C# Winform 相册功能,图片缩放,拖拽,预览图分页

    效果 1.图片放大,缩小,拖拽功能 2.添加图片,分页功能 一.前言 在一些项目中也会用到预览图片的功能,至于为什么有一个添加图片的按钮,是因为有些项目,比如视觉相关的项目,摄像头拍摄图片,然后显示在 ...

  7. 图片的缩放和拖拽功能

    缩放:监听滚轮的滚动滑动事件,然后改变图片的zomm属性 拖拽 : 获取鼠标单击后,X.Y挪动的像素,  图片使用定位,更改left和top的值 <template><div sty ...

  8. C#pictureBox滚轮缩放与拖拽

    简要描述: 说到底还是对图片的控件进行缩放.及缩放picturebox控件,该图片控件缩放的最大范围为其依赖的panel(或者其他)控件决定. 1.通过鼠标滚轮事件MouseWheel进行缩放,往前滚 ...

  9. 禁止百度地图缩放和拖拽

    此处的bMap是自己存的变量名称,不是百度地图自带的 直接上代码了 bMap.disableDoubleClickZoom() //禁止缩放bMap.enableScrollWheelZoom(fal ...

最新文章

  1. GitHub网站使用的基础入门
  2. 凭证 金蝶_金蝶软件账务处理流程之——凭证录入
  3. 转载:Apache commons开源工具简介
  4. tomcat配置文件context.xml和server.xml分析
  5. hdoj--1716--排列2(暴力水题)
  6. Linux操作系统下的多线程编程详细解析----条件变量
  7. Ubuntu下搭建git服务器步骤
  8. C盘爆满给Android Studio瘦身将sdk移除C盘
  9. 艾美捷PEG-2000 DMG解决方案
  10. java oa开发_oa开发方案
  11. openssl加密解密
  12. WOT 2017会议嘉宾名单提前看!
  13. Android studio显示百度地图及闪退问题的解决
  14. 理解javaScript的数据类型之字符串类型
  15. JDK8之Optional
  16. 服装管理系统大一c语言
  17. 推荐系统 | (2) 个性化推荐系统研究热点
  18. 国科大刘玉贵老师计算机算法设计与分析2021年期末考试题回顾
  19. 在gitcafe下用hexo建的新博客
  20. JSP汽车自行车出租系统

热门文章

  1. 【windows 壁纸】
  2. Mac版Sublime Text3搭建c语言环境
  3. 100000+人体验过后都说:这TM绝对是最变态的英语学习方法……
  4. word突然不能保存只能另存为
  5. java 单线程 并发_单线程_Java高并发专题系列_Java视频-51CTO学院
  6. 商业模式和盈利模式的区别是什么?
  7. motd 自定义欢迎界面
  8. H5编辑器H5-Dooring2.30更新指南
  9. 2018年人工智能领域研发热点回眸
  10. 数字时代,商业智能BI的落地意味着什么