Unity 鼠标旋转物体360展示

摘要:
PC端usingUnityEngine;usingSystem.Collections;publicclassDragRound:MonoBehaviour{publicTransformobj;publicfloatspeed=2;privatebool_mouseDown=false;voidUpdate(){if(Input.GetMouseButtonDown(0))_mouseDown=

PC端

usingUnityEngine;
usingSystem.Collections;
 
public classDragRound : MonoBehaviour {
 
    publicTransform obj;
    public float speed = 2;
    
    private bool _mouseDown = false;
    
    voidUpdate () 
    {
        if (Input.GetMouseButtonDown(0))
            _mouseDown = true;
        else if (Input.GetMouseButtonUp(0))
            _mouseDown = false;

        if(_mouseDown)
        {
            float fMouseX = Input.GetAxis("Mouse X");
            float fMouseY = Input.GetAxis("Mouse Y");
            obj.Rotate(Vector3.up, -fMouseX *speed, Space.World);
            obj.Rotate(Vector3.right, fMouseY *speed, Space.World);
        }
    }
}

移动端:

usingUnityEngine;
usingSystem.Collections;
 
public classDragRoundPhone : MonoBehaviour {
 
    privateVector3 startFingerPos;
    privateVector3 nowFingerPos;
    private floatxMoveDistance;
    private floatyMoveDistance;
    private int backValue = 0;
    publicGameObject obj;
    voidUpdate()
    {
        if (Input.touchCount <= 0)
        {
            return;
        }
 
        if (Input.GetTouch(0).phase ==TouchPhase.Began)
        {
            //Debug.Log("======开始触摸=====");  
            startFingerPos = Input.GetTouch(0).position;
        }
 
        nowFingerPos = Input.GetTouch(0).position;
 
        if ((Input.GetTouch(0).phase == TouchPhase.Stationary) || (Input.GetTouch(0).phase ==TouchPhase.Ended))
        {
            startFingerPos =nowFingerPos;
            //Debug.Log("======释放触摸=====");  
            return;
        }
        //if (Input.GetTouch(0).phase == TouchPhase.Ended) {  
        //                
        //}  
        if (startFingerPos ==nowFingerPos)
        {
            return;
        }
        xMoveDistance = Mathf.Abs(nowFingerPos.x -startFingerPos.x);
        yMoveDistance = Mathf.Abs(nowFingerPos.y -startFingerPos.y);
 
        if (xMoveDistance >yMoveDistance)
        {
            if (nowFingerPos.x - startFingerPos.x > 0)
            {
                //Debug.Log("=======沿着X轴负方向移动=====");  
                backValue = -1; //沿着X轴负方向移动  
}
            else{
                //Debug.Log("=======沿着X轴正方向移动=====");  
                backValue = 1; //沿着X轴正方向移动  
}
        }
        else{
            if (nowFingerPos.y - startFingerPos.y > 0)
            {
                //Debug.Log("=======沿着Y轴正方向移动=====");  
                backValue = 2; //沿着Y轴正方向移动  
}
            else{
                //Debug.Log("=======沿着Y轴负方向移动=====");  
                backValue = -2; //沿着Y轴负方向移动  
}
 
        }
        if (backValue == -1)
        {
            obj.transform.Rotate(Vector3.up * -1 * Time.deltaTime * 50, Space.World);
        }
        else if (backValue == 1)
        {
            obj.transform.Rotate(Vector3.up * Time.deltaTime * 50, Space.World);
        }
        else if (backValue == 2)
        {
            obj.transform.Rotate(Vector3.right * Time.deltaTime * 50, Space.World);
        }
        else if (backValue == -2)
        {
            obj.transform.Rotate(Vector3.right * -1 * Time.deltaTime * 50, Space.World);
        }  
 
    }  
}

免责声明:文章转载自《Unity 鼠标旋转物体360展示》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇docker 传入变量0908下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

「Unity」键盘、鼠标,检测按键输入事件

必须在Update()方法中调用 void Update() { //识别键盘输入 //键盘A键按住 //第一种方式 "a" 必须是小写字母 if (Input.GetKey("a")) { } //第二种方式 KeyCode的枚举类型...

Unity3d之音效播放和调用手机震动

http://blog.csdn.net/sunshine_1984/article/details/12943979 今天研究了下Unity3d音效播放相关内容,整理下实现细节。 1,添加音效文件到Assets/Resources目录,我这里添加到Assets/Resources/audio目录了。 2,新建C# Script命名为audio 3,编写a...

[zz]使用unity制作雨滴涟漪效果

之前看了以前版本的unity3d demo AngryBots ,觉得里面的下雨效果不错,刚好前段时间学习了,写出来跟大家分享下,直接开始。 使用自带动画系统制作下雨效果。 先制作下雨的雨滴涟漪 步骤1: 在 project中新建文件夹,命名为rainFX。将图片素材RainStreak及Ripple导入到rainFX文件夹中,创建一个plane,改名...

通过Unity导出的Android Studio和Google安卓原生工程的结构图对比

使用Unity导出Android Studio工程前建议查看我之前的文章《Unity2019及Unity2020打包android的环境配置》,替换或修改Unity安装目录下的baseProjectTemplate.gradle,把链接指向国内能加快下载速度。 说明:我把Android Studio简称为AS 本文记录一下Android Stuiod中原生...

unity 游戏第一次安装完之后运行,切出来,点击桌面图标后黑屏问题

unity 游戏第一次安装完之后运行,切出来,点击桌面图标后黑屏问题 这个问题只会在第一次出现,之后就是桌面进入了,不会再出现这个问题了 这是一个解决办法吧: 就是将安装之后运行的游戏杀死,然后在重新进入游戏,  // 在onCreate()最前面添加一下代码 if (!isTaskRoot()) { final Intent intent = g...

【Unity3D入门教程】Unity3D播放音频和视频

前言 在游戏开发的过程中,我们经常会用到播放音频和视频,我们今天给大家带来一种简单的播放音频和视频的方法,使用的是Unity自带的函数。本文的内容参考了宣雨松所写的《Unity3D游戏开发》一书,特此致谢。   1 播放音频 首先,Unity支持的音频格式有wav、mp3、ogg等。在场景中创建一个空物体GameObject,并为其添加AudioSourc...