unity控制物体旋转缩放

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MouseControlModel : MonoBehaviour
{
    /// <summary>
    /// 控制物体旋转缩放
    /// </summary>
    //旋转速度
    public float xSpeed = 500.0f;
    //旋转角度
    private float x = 0.0f;
    private float y = 0.0f;
    private void OnEnable()
    {
        transform.parent.GetChild(1).gameObject.SetActive(true);
        StartCoroutine("Openrightgui");
    }
    void Update()
    {
        if (PublicFiles.canmove)
        {
            if (Input.GetMouseButton(0))
            {
                this.transform.Rotate(Vector3.up * -xSpeed * Input.GetAxis("Mouse X") * Time.deltaTime);//围绕y轴,旋转
            }
            else if (Input.GetAxis("Mouse ScrollWheel") != 0)
            {
                //鼠标滚动滑轮 值就会变化
                if (Input.GetAxis("Mouse ScrollWheel") < 0)
                {
                    //范围值限定
                    if (Camera.main.fieldOfView <= 70)
                        Camera.main.fieldOfView += 2;
                    if (Camera.main.orthographicSize <= 20)
                        Camera.main.orthographicSize += 0.5F;
                }
                //Zoom in  
                if (Input.GetAxis("Mouse ScrollWheel") > 0)
                {
                    //范围值限定
                    if (Camera.main.fieldOfView > 50)
                        Camera.main.fieldOfView -= 2;
                    if (Camera.main.orthographicSize >= 1)
                        Camera.main.orthographicSize -= 0.5F;
                }
            }
        }
     
    }

    //角度范围值限定
    static float ClampAngle(float angle, float min, float max)
    {
        if (angle < -360)
            angle += 360;
        if (angle > 360)
            angle -= 360;
        return Mathf.Clamp(angle, min, max);
    }

    private void OnDisable()
    {
        //transform.rotation = new Quaternion(0,180, 0,0);
        transform.localEulerAngles = new Vector3(0, 180, 0);
        transform.parent.GetChild(1).gameObject.SetActive(false);

    }
    IEnumerator Openrightgui()
    {
        yield return new WaitForSeconds(0.7f);
        var canv = PublicFiles.Instance.maincanvas[2].transform;
        canv.GetComponent<CanvasGroup>().blocksRaycasts = true;
        canv.GetComponent<CanvasGroup>().alpha = 1;
        canv.DOLocalMoveX(710, 1f);
    }
}
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值