zoukankan      html  css  js  c++  java
  • 缩放 +旋转

    sing UnityEngine;

    public class FllowPlayer : MonoBehaviour
    {
    private Transform player;
    private Vector3 offsetPosition;
    public float scrollSpeed = 10;
    public float rotateSpeed = 5;
    private float distance;
    private bool isRotating = false;
    void Awake()
    {
    player = GameObject.FindGameObjectWithTag(Tags.Player).transform;
    }
    void Start()
    {
    offsetPosition = transform.position - player.position;
    transform.LookAt(player.position);
    ;
    }

    void Update()
    {
    transform.position = player.position + offsetPosition;
    //鼠标放大和缩放界面
    ScrollView();
    //旋转界面
    RotateView();

    }

    //放大和缩放界面
    private void ScrollView()
    {
    distance = offsetPosition.magnitude;
    distance -= Input.GetAxis("Mouse ScrollWheel") * scrollSpeed;
    distance = Mathf.Clamp(distance, 3, 15);
    offsetPosition = offsetPosition.normalized * distance;
    }

    //按鼠标右键旋转界面
    private void RotateView()
    {
    if (Input.GetMouseButtonDown(1))
    {
    isRotating = true;
    }
    if (Input.GetMouseButtonUp(1))
    {
    isRotating = false;
    }
    if (isRotating)
    {
    //左右旋转
    transform.RotateAround(player.position, player.up, Input.GetAxis("Mouse X") * rotateSpeed);
    Vector3 origionPosition = transform.position;
    Quaternion origionRotation = transform.rotation;
    //上下旋转
    transform.RotateAround(player.position, transform.right, -Input.GetAxis("Mouse Y") * rotateSpeed);
    float x = transform.eulerAngles.x;
    if (x < 30 || x > 80)
    {
    transform.position = origionPosition;
    transform.rotation = origionRotation;
    }
    offsetPosition = transform.position - player.position;
    }
    }
    }
    ---------------------
    作者:cchoop
    来源:CSDN
    原文:https://blog.csdn.net/qq_34937637/article/details/81238375
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    【原创】QTP中手动添加对象
    【转载】【缺陷预防技术】流程技术预防
    【资料】HP Loadrunner 11下载地址
    使用命令行操作VSS
    sql server 按时间段查询记录的注意事项
    Asp.net应用程序文件名重名引起的bug
    使用SQL语句查询表中重复记录并删除
    backgroundpositionx的兼容性问题
    关于Asp.net Development Server
    如何查看正在使用某个端口的应该程序
  • 原文地址:https://www.cnblogs.com/hpu001/p/10097874.html
Copyright © 2011-2022 走看看