鼠标或者触屏滑动旋转角度查看人物效果(类似王者荣耀里选择人物查看)
2017-12-10 16:20
253 查看
一:NGUI特有的 滑动鼠标观察对象(直接添加)
1在角色身上添加碰撞盒 Inspector--Add component-- 搜索“ capsule collider”添加
2为角色加脚本 [b]Inspector--Add component--查找 “Spin with Mouse”即可 [/b]
(注意角色要放在NGUI的UI Root下面;层级要都为UI层)
二:通过代码实现
1在角色身上添加碰撞盒 Inspector--Add
2创建C#脚本 ,然后将脚本绑定在要观察的对象Object身上 --如下
(转载)
using UnityEngine;
using System.Collections;
public class ViewHero : MonoBehaviour {
//是否被拖拽
private bool onDrag = false;
//旋转速度
public float speed = 6f;
//阻尼速度
private float zSpeed;
//鼠标沿水平方向拖拽的增量
private float X;
//鼠标沿竖直方向拖拽的增量
//private float Y;
//鼠标移动的距离
private float mXY;
//接受鼠标按下的事件
void OnMouseDown()
{
X = 0f;
//Y = 0f;
}
//鼠标拖拽时的操作
void OnMouseDrag()
{
Debug.Log("鼠标拖拽");
onDrag = true;
X = -Input.GetAxis("Mouse X");
//获得鼠标增量
//Y = Input.GetAxis ("Mouse Y");
//mXY = Mathf.Sqrt (X * X + Y * Y);
//计算鼠标移动的长度
// if(mXY == 0f){ mXY=1f; } }
//计算鼠标移动的长度//
mXY = Mathf.Sqrt(X * X);
if (mXY == 0f)
{
mXY = 1f;
}
}
//获取阻尼速度
float RiSpeed()
{
if (onDrag)
{
zSpeed = speed;
}
else
{
//if (zSpeed> 0)
//{
//通过除以鼠标移动长度实现拖拽越长速度减缓越慢
// zSpeed -= speed*2 * Time.deltaTime / mXY;
//}
//else
//{
zSpeed = 0;
//}
}
4000
return zSpeed;
}
void LateUpdate()
{
transform.Rotate(new Vector3(0, X, 0) * RiSpeed(), Space.World);
if (!Input.GetMouseButtonDown(0))
{
print("鼠标事件:"+!Input.GetMouseButtonDown(0));
onDrag = false;
}
}
}
component-- 搜索“ capsule collider”添加
1在角色身上添加碰撞盒 Inspector--Add component-- 搜索“ capsule collider”添加
2为角色加脚本 [b]Inspector--Add component--查找 “Spin with Mouse”即可 [/b]
(注意角色要放在NGUI的UI Root下面;层级要都为UI层)
二:通过代码实现
1在角色身上添加碰撞盒 Inspector--Add
2创建C#脚本 ,然后将脚本绑定在要观察的对象Object身上 --如下
(转载)
using UnityEngine;
using System.Collections;
public class ViewHero : MonoBehaviour {
//是否被拖拽
private bool onDrag = false;
//旋转速度
public float speed = 6f;
//阻尼速度
private float zSpeed;
//鼠标沿水平方向拖拽的增量
private float X;
//鼠标沿竖直方向拖拽的增量
//private float Y;
//鼠标移动的距离
private float mXY;
//接受鼠标按下的事件
void OnMouseDown()
{
X = 0f;
//Y = 0f;
}
//鼠标拖拽时的操作
void OnMouseDrag()
{
Debug.Log("鼠标拖拽");
onDrag = true;
X = -Input.GetAxis("Mouse X");
//获得鼠标增量
//Y = Input.GetAxis ("Mouse Y");
//mXY = Mathf.Sqrt (X * X + Y * Y);
//计算鼠标移动的长度
// if(mXY == 0f){ mXY=1f; } }
//计算鼠标移动的长度//
mXY = Mathf.Sqrt(X * X);
if (mXY == 0f)
{
mXY = 1f;
}
}
//获取阻尼速度
float RiSpeed()
{
if (onDrag)
{
zSpeed = speed;
}
else
{
//if (zSpeed> 0)
//{
//通过除以鼠标移动长度实现拖拽越长速度减缓越慢
// zSpeed -= speed*2 * Time.deltaTime / mXY;
//}
//else
//{
zSpeed = 0;
//}
}
4000
return zSpeed;
}
void LateUpdate()
{
transform.Rotate(new Vector3(0, X, 0) * RiSpeed(), Space.World);
if (!Input.GetMouseButtonDown(0))
{
print("鼠标事件:"+!Input.GetMouseButtonDown(0));
onDrag = false;
}
}
}
component-- 搜索“ capsule collider”添加
相关文章推荐
- Android进阶:实现android系统自带查看照片动画效果 类似Gallery手势滑动
- android开发之&使用ViewPager加gridView实现菜单按钮分页滑动(类似QQ表情选择翻页效果)
- Android 布局手势缩放,可滑动查看,实现类似Imgview图片缩放效果
- jquery实现鼠标拖拽滑动效果来选择数字的方法
- jquery实现鼠标拖拽滑动效果来选择数字的方法
- 鼠标按下,滑动选择
- CSS3鼠标悬停360度旋转效果
- UGUI流光特效(王者荣耀效果)
- JavaScript仿win8高端滑动旋转效果
- Android 滑动效果进阶篇(五)—— 3D旋转
- js实现鼠标点击左上角滑动菜单效果代码
- 类似中华英才网,51job的地区选择效果
- Android Design Support Library(一)用TabLayout实现类似网易选项卡动态滑动效果
- Android实战简易教程<十四>(介绍SwipeMenuListView-简单实现类似QQ的滑动删除效果)
- 使用鼠标滚轮或者手势滑动到页面节点部分
- 就是类似163邮箱的发信选择收件人效果
- 鼠标选择图像上点或者闭合多边形
- Android 滑动效果进阶篇(五)—— 3D旋转
- 对自定义折线图 曲线图进行 图层优化后的代码,之前的性能差效果不友好,修改为:类似支付宝 中查看基金走势图的效果
- Android 滑动效果进阶篇(五)—— 3D旋转