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

日照seo网站外包百度联盟广告

日照seo网站外包,百度联盟广告,高级感ppt模板免费,网站备案的规定需求 unity实现键盘wasd键控制图片的移动,图片长度未超出屏幕不能移动,宽度未超出屏幕不能移动。jk键控制图片的缩放,缩放有限制 using UnityEngine;public class ImageController : MonoBehaviour {[Header("移动设置")]public f…

需求
unity实现键盘wasd键控制图片的移动,图片长度未超出屏幕不能移动,宽度未超出屏幕不能移动。jk键控制图片的缩放,缩放有限制

using UnityEngine;public class ImageController : MonoBehaviour
{[Header("移动设置")]public float moveSpeed = 5f; // 移动速度private RectTransform rectTransform;private Vector2 originalSize; // 原始尺寸private Vector2 minPosition; // 最小位置限制private Vector2 maxPosition; // 最大位置限制[Header("缩放设置")]public float scaleSpeed = 0.1f; // 缩放速度public float minScale = 0.5f; // 最小缩放比例public float maxScale = 2f; // 最大缩放比例private Vector3 currentScale; // 当前缩放值private void Start(){rectTransform = GetComponent<RectTransform>();originalSize = rectTransform.sizeDelta;currentScale = rectTransform.localScale;// 计算初始位置限制CalculatePositionLimits();}private void Update(){HandleMovement();HandleScaling();}private void HandleMovement(){Vector2 moveInput = Vector2.zero;// 获取WASD输入if (Input.GetKey(KeyCode.W)) moveInput.y = 1f;if (Input.GetKey(KeyCode.S)) moveInput.y = -1f;if (Input.GetKey(KeyCode.A)) moveInput.x = -1f;if (Input.GetKey(KeyCode.D)) moveInput.x = 1f;// 归一化并应用速度if (moveInput.magnitude > 0){moveInput.Normalize();Vector2 newPosition = rectTransform.anchoredPosition + moveInput * moveSpeed * Time.deltaTime;// 应用位置限制newPosition.x = Mathf.Clamp(newPosition.x, minPosition.x, maxPosition.x);newPosition.y = Mathf.Clamp(newPosition.y, minPosition.y, maxPosition.y);rectTransform.anchoredPosition = newPosition;}}private void HandleScaling(){float scaleInput = 0f;// 获取JK输入if (Input.GetKey(KeyCode.J)) scaleInput = -1f;if (Input.GetKey(KeyCode.K)) scaleInput = 1f;if (scaleInput != 0f){// 计算新缩放值float newScale = currentScale.x + scaleInput * scaleSpeed * Time.deltaTime;newScale = Mathf.Clamp(newScale, minScale, maxScale);currentScale = new Vector3(newScale, newScale, 1f);rectTransform.localScale = currentScale;// 缩放后重新计算位置限制CalculatePositionLimits();// 确保缩放后图片不会超出边界Vector2 clampedPosition = rectTransform.anchoredPosition;clampedPosition.x = Mathf.Clamp(clampedPosition.x, minPosition.x, maxPosition.x);clampedPosition.y = Mathf.Clamp(clampedPosition.y, minPosition.y, maxPosition.y);rectTransform.anchoredPosition = clampedPosition;}}private void CalculatePositionLimits(){// 获取Canvas的尺寸RectTransform canvasRect = GetComponentInParent<Canvas>().GetComponent<RectTransform>();Vector2 canvasSize = canvasRect.sizeDelta;// 计算当前图片的实际尺寸(考虑缩放)Vector2 scaledSize = new Vector2(originalSize.x * currentScale.x,originalSize.y * currentScale.y);// 计算位置限制// 当图片尺寸小于等于屏幕尺寸时,不能移动if (scaledSize.x <= canvasSize.x){minPosition.x = 0;maxPosition.x = 0;}else{float halfImageWidth = scaledSize.x / 2f;float halfCanvasWidth = canvasSize.x / 2f;minPosition.x = halfCanvasWidth - halfImageWidth;maxPosition.x = halfImageWidth - halfCanvasWidth;}if (scaledSize.y <= canvasSize.y){minPosition.y = 0;maxPosition.y = 0;}else{float halfImageHeight = scaledSize.y / 2f;float halfCanvasHeight = canvasSize.y / 2f;minPosition.y = halfCanvasHeight - halfImageHeight;maxPosition.y = halfImageHeight - halfCanvasHeight;}}
}
http://www.dtcms.com/wzjs/389015.html

相关文章:

  • 网站网页设计培训机构关键词排名优化软件
  • it项目网站开发的需求文档百度推广代理开户
  • 乌鲁木齐网站建设公司哪家好哪有培训seo
  • 网站做优化效果怎么样c++线上培训机构哪个好
  • 日本网站在线免费观看电视剧湖南知名网络推广公司
  • 做网站的图片网店代运营公司
  • 即墨网站开发服务营销
  • 做网站怎么赚钱 知乎重庆人力资源和社会保障网
  • 小说网站设计毕业论文抖音seo代理
  • 软件工程师英文郑州seo顾问外包公司
  • 青海省建设厅勘察设计备案网站seo搜索优化专员招聘
  • 网站设计排版怎么做舆情分析报告范文
  • 做货源网站可以赚钱吗百度竞价是什么
  • 深圳网络科技有限公司廊坊百度关键词优化
  • 大兴网站开发网站建设网站运营是做什么的
  • 注册城乡规划师挂靠重庆seo海洋qq
  • 杭州建委网站首页怎样精准搜索关键词
  • wordpress登录更改域名后什么是seo标题优化
  • 找人做网站属于诈骗吗好搜搜索
  • 做网站需要icp经营许可证做网站的步骤
  • 中英企业网站源码香飘飘奶茶
  • 在建设部网站如何查询注册信息企业文化理念
  • 做360网站优化排网站开发一般多少钱
  • 网站收录有什么用如何进行网络推广和宣传
  • 南京公司注册代办哪家好seo点击排名软件哪里好
  • 学校网站建设工作计划seo推广的公司
  • 一个简单的网站怎么做的免费建站建站abc网站
  • zblog 网站源码流量网站
  • 中国机械加工网木材综合破碎机阿里网站seo
  • 自己做网站好难挣钱网络推广项目外包公司