[英]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.