求Unity中物体在被鼠标点击后在半秒内旋转90度的方法,C#语言
求Unity中物体在被鼠标点击后在半秒内旋转90度的方法,当鼠标再次点击后物体在半秒没内旋转回原位。...
求Unity中物体在被鼠标点击后在半秒内旋转90度的方法,当鼠标再次点击后物体在半秒没内旋转回原位。
展开
1个回答
展开全部
这个会比较麻烦.
下面给你一个思路代码. 你自己根据实际情况再修改就行了.
步骤:
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; //停止
}
}
}
}
}
追答
我的unity暂时没有使用过插件. 不太清楚这个插件的用法.
你的这个不是两个动画, 对unity来说就是两个代码文件.
但是正常来说, 名字相同的情况下只会出现在同一个文件拖进去两次. 第二个开始的同名文件不会被执行.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询