鼠标滑轮将物体放大缩小

鼠标滑轮将物体放大缩小

哈喽!又来给大家分享代码喽,今天给大家分享一下,鼠标滑轮滑动将物体放大缩小,我用了两种方法,两种方法的效果不一样,好了下面为大家演示一下两种效果的不同以及代码:

1.第一种效果演示,这个是物体随着滑轮的移动发生变化,变化的物体哦!
在这里插入图片描述
代码如下:

public class scale : MonoBehaviour
{

    float s = 1.0f;
   


    private GameObject cube;
    private void Start()    
    {

        cube = GameObject.Find("Cube");
        
    }
    void Update()
    {
        s += Input.GetAxis("Mouse ScrollWheel");
        cube.transform.localScale = new Vector3(1 * s, 1 * s, 1 * s);
       
    }
    
}

把这个脚本挂载想要实现缩放的物体上即可
2.第二种效果演示,相机随着滑轮前后移动,从而达到物体的缩放。

在这里插入图片描述
代码如下:


    public class scale : MonoBehaviour
{

    float s = 1.0f;
    public float minFov = 15f;
    public float maxFov = 90f;
    public float sensitivity = 10f;
    public Vector3 speedV3;



    private GameObject cube;
    private void Start()    
    {

        cube = GameObject.Find("Cube");
        
    }
    void Update()
    {
        float fovMain = Camera.main.fieldOfView;
        fovMain += Input.GetAxis("Mouse ScrollWheel") * sensitivity;
        fovMain = Mathf.Clamp(fovMain, minFov, maxFov);
        Camera.main.fieldOfView = fovMain;

       
    }
    
}

同样,把这个脚本挂载想要实现缩放的物体上即可
好了,今天的分享就到这里了,是不是很简单呢,
明天继续为大家分享简单易学的小知识点。
喜欢博主的加关注哦!
生命不止 ,学习不止!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unity中实现鼠标滑轮放大缩小图片,可以通过以下步骤实现: 1. 创建一个Image对象,并将其添加到Canvas中。 2. 给Image对象添加一个Rect Transform组件,用于控制图片的位置和大小。 3. 给Image对象添加一个Event Trigger组件,并添加两个事件:OnScroll和OnDrag。 4. 在OnScroll事件中,使用鼠标滑轮的delta值来缩放图片的大小。可以使用RectTransform组件的localScale属性来实现缩放。 5. 在OnDrag事件中,使用鼠标的delta值来移动图片的位置。可以使用RectTransform组件的anchoredPosition属性来实现移动。 下面是一个示例代码: ``` using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class ImageController : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IDragHandler, IScrollHandler { public Image image; public float zoomSpeed = 0.1f; public float moveSpeed = 1.0f; private bool isDragging = false; private Vector2 dragStartPosition; public void OnPointerEnter(PointerEventData eventData) { // 鼠标进入图片区域时,允许滑动和缩放图片 image.rectTransform.pivot = new Vector2(0.5f, 0.5f); image.rectTransform.localScale = Vector3.one; image.rectTransform.localPosition = Vector3.zero; } public void OnPointerExit(PointerEventData eventData) { // 鼠标离开图片区域时,还原图片位置和大小 image.rectTransform.pivot = new Vector2(0f, 1f); image.rectTransform.localScale = Vector3.one; image.rectTransform.localPosition = Vector3.zero; } public void OnDrag(PointerEventData eventData) { // 鼠标左键按住拖动时,移动图片位置 if (Input.GetMouseButton(0)) { if (!isDragging) { isDragging = true; dragStartPosition = eventData.position; } else { Vector2 delta = eventData.position - dragStartPosition; image.rectTransform.anchoredPosition += delta * moveSpeed; dragStartPosition = eventData.position; } } else { isDragging = false; } } public void OnScroll(PointerEventData eventData) { // 使用鼠标滚轮缩放图片大小 float scale = 1.0f + eventData.scrollDelta.y * zoomSpeed; image.rectTransform.localScale *= scale; } } ``` 将这个脚本组件添加到Image对象上,然后将Image对象的Image组件和RectTransform组件赋值给对应的变量,即可实现鼠标滑轮放大缩小图片,鼠标左键按住滑动拖动图片的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值