小编ais*_*iya的帖子

如何在统一旋转后将物体恢复到原来的位置?

我创建了一个项目,当我们触摸它时旋转立方体.当用户停止触摸立方体时,我希望立方体返回其原始位置.下面我添加了旋转立方体的源代码:

using UnityEngine;

using System.Collections;

[RequireComponent(typeof(MeshRenderer))]

public class dr : MonoBehaviour 
{

    #region ROTATE
    private float _sensitivity = 1f;
    private Vector3 _mouseReference;
    private Vector3 _mouseOffset;
    private Vector3 _rotation = Vector3.zero;
    private bool _isRotating;


    #endregion

    void Update()
    {
        if(_isRotating)
        {
            // offset
            _mouseOffset = (Input.mousePosition - _mouseReference); // apply rotation
            _rotation.y = -(_mouseOffset.x + _mouseOffset.y) * _sensitivity; // rotate
            gameObject.transform.Rotate(_rotation); // store new mouse position
            _mouseReference = Input.mousePosition;
        }

    }

    void OnMouseDown()
    {
        // rotating flag
        _isRotating = true;

        // store …
Run Code Online (Sandbox Code Playgroud)

c# rotatetransform rotation mouseevent unity-game-engine

-29
推荐指数
1
解决办法
3017
查看次数