您的位置:首页 > 移动开发 > Unity3D

unity 鼠标拖拽物体旋转,滚轮放大缩小(一)

2018-01-09 16:35 1341 查看
这个程序有时候会在物体旋转的时候卡住,不推荐用:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move : MonoBehaviour
{

    public GameObject chaiYouJi;

    private float axisX = 1;//鼠标沿水平方向移动的增量
    private float axisY = 1;//鼠标沿竖直方向移动的增量
    //物体移动
    private void OnMouseDown()
    { 
        //接受鼠标按下的事件
        axisX = 0f;
        axisY = 0f;
    }
    private void OnMouseDrag()
    {

        //获得鼠标增量
        axisX = -Input.GetAxis("Mouse X");
        axisY = Input.GetAxis("Mouse Y");
   
        this.transform.Rotate(new Vector3(axisY, axisX, 0), Space.World);
    }
     void Update()

    { 

      //物体缩放

        if(Input .GetAxis("Mouse ScrollWheel")>0)
        {
            float localSacleX = chaiYouJi.transform.localScale.x + 0.2f;
            float localSacleY = chaiYouJi.transform.localScale.y + 0.2f;
            float localSacleZ = chaiYouJi.transform.localScale.z + 0.2f;

            chaiYouJi.transform.localScale = new Vector3(localSacleX, localSacleY, localSacleZ);
            if (localSacleX >= 10f)
            {
                chaiYouJi.transform.localScale = new Vector3(10f, 10f, 10f);
            }
        }
        if(Input .GetAxis("Mouse ScrollWheel")<0)
        {
            float localSacleX = chaiYouJi.transform.localScale.x - 0.2f;
            float localSacleY = chaiYouJi.transform.localScale.y - 0.2f;
            float localSacleZ = chaiYouJi.transform.localScale.z - 0.2f;

            chaiYouJi.transform.localScale = new Vector3(localSacleX, localSacleY, localSacleZ);
            if (localSacleX <= 5f)
            {
                chaiYouJi.transform.localScale = new Vector3(5f, 5f, 5f);
            }
        }

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: