求Unity中物体在被鼠标点击后在半秒内旋转90度的方法,C#语言

求Unity中物体在被鼠标点击后在半秒内旋转90度的方法,当鼠标再次点击后物体在半秒没内旋转回原位。... 求Unity中物体在被鼠标点击后在半秒内旋转90度的方法,当鼠标再次点击后物体在半秒没内旋转回原位。 展开
 我来答
jimodeduzou
推荐于2016-02-21 · TA获得超过3203个赞
知道大有可为答主
回答量:2567
采纳率:66%
帮助的人:1300万
展开全部

这个会比较麻烦.

下面给你一个思路代码. 你自己根据实际情况再修改就行了.

步骤:

1.新建一个C#脚本 名字:mouseControl

2.复制下述代码后保存, 然后在场景中新建一个物体, 将脚本拖放在该物体上运行即可

using UnityEngine;
using System.Collections;

public class mouseControl : MonoBehaviour {
    float org_y;
    //float time = 0.0f;
    bool mousedown = false;
    bool isrotate = false;

// Use this for initialization
void Start ()
    {
        org_y = transform.eulerAngles.y;
    }

// Update is called once per frame
void FixedUpdate () {
        if (Input.GetMouseButton(0))
            mousedown = true;


        if(mousedown)
        {
            if (!isrotate)
            {
                if ((transform.eulerAngles.y - org_y) < 90)
                {
                    transform.Rotate(0, Time.deltaTime * 90 * 2, 0, Space.World);
                }
                else
                {
                    isrotate = true; //已被旋转, 下次点击就回到原来位置.
                    mousedown = false; //停止
                }
            }
            else
            {
                if(transform.eulerAngles.y <=360 && (transform.eulerAngles.y - org_y) >=0.001)
                {
                    transform.Rotate(0, -Time.fixedDeltaTime * 90 * 2, 0, Space.World);
                    //回到原来位置
                }
                else
                {
                    isrotate = false; //旋转复原
                    mousedown = false; //停止
                }
            }
        }
}
}
追问

我用Itween动画了,但是一个物体两个动画怎么分别引用呢?他们的名字是一样的

追答
我的unity暂时没有使用过插件. 不太清楚这个插件的用法.
你的这个不是两个动画, 对unity来说就是两个代码文件.
但是正常来说, 名字相同的情况下只会出现在同一个文件拖进去两次. 第二个开始的同名文件不会被执行.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式