繁体   English   中英

Unity 3d 中使用 UI 按钮的放大和缩小功能

[英]Zoom in and Zoom out feature in Unity 3d using UI buttons

如何使用 UI 按钮单击在 Unity-3d 中创建放大和缩小功能?

解决方案取决于您的具体设置,但如果您使用的是正射相机,这应该是一个很好的起点。 如果您使用的是透视相机,则应将其Transform的 position 向前或向后移动。 我还使用Mathf.Clamp将缩放级别限制在特定范围内。

using UnityEngine;
using UnityEngine.UI;

public class Zoomer: MonoBehaviour
{
   public Button zoomInButton;
   public Button zoomOutButton;

   public float zoomDelta = 0.1f;

   public float minZoom;
   public float maxZoom;

   Camera cam;

   void Start()
   {
      cam = Camera.main;
   }

   void OnEnable()
   {
       zoomInButton.onClick.AddListener(delegate { Zoom(-zoomDelta); });
       zoomOutButton.onClick.AddListener(delegate { Zoom(zoomDelta); });
   }

   void Zoom(float value)
   {
      float v = Mathf.Clamp(
         cam.orthographicSize + value,
         minZoom,
         maxZoom
      );

      cam.orthographicSize = v;
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM