[英]Zoom in and Zoom out feature in Unity 3d using UI buttons
How do I create the Zoom-in and Zoom-out feature in Unity-3d using UI button click?如何使用 UI 按钮单击在 Unity-3d 中创建放大和缩小功能?
Solution depends on your specific setup, but this should be a good starting point, if you're using an ortographic Camera .解决方案取决于您的具体设置,但如果您使用的是正射相机,这应该是一个很好的起点。 If you're using a perspective camera instead, you should move its Transform 's position forward or backwards.
如果您使用的是透视相机,则应将其Transform的 position 向前或向后移动。 I'm also using Mathf.Clamp to restrict the zooming level to a specific range.
我还使用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.