C#定义一个手势
2013-11-06 14:41
267 查看
C#写法: // 定义一个手势的枚举 public enum Dir:int { Left = 0, Stop, Right } // C#脚本名为Test.cs public class Test: MonoBehaviour { public GameObject _plane;// 挂一个用来显示图片的plane对象 public float duration = 0.5f; // 每0.5秒换一张图片 public Texture2D[] _texAll; // 挂30张图片 Dir _touchDir; // 当前的手势 float curTime = 0; int _index = 0; void Update() { // 当运行平台为IOS或Android时 if(Application.platform == RuntimePlatform.IPhonePlayer || Application.platform == RuntimePlatform.Android) { // 当输入的触点数量大于0,且手指移动时 if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) { if(Input.GetTouch(0).deltaPosition.x < 0 - Mathf.Epsilon) _touchDir = Dir.Left; else _touchDir = Dir.Right; } // 当输入的触点数量大于0,且手指不动时 if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Stationary) { _touchDir = Dir.Stop; } } // 根据手势顺序或逆序换图 if(_touchDir != Dir.Stop) { if(_touchDir == Dir.Left) { curTime += Time.deltaTime; if(curTime > duration) { curTime = 0; _index = _index == 0 ? _texAll.Length - 1 : _index ; _plane.renderer.material.mainTexture = _texAll[_index--]; } } else { curTime += Time.deltaTime; if(curTime > duration) { curTime = 0; _index = _index == _texAll.Length - 1 ? 0 : _index ; _plane.renderer.material.mainTexture = _texAll[_index++]; } } } } }
相关文章推荐
- 串口开发 打印机 读卡器 遇到的问题
- C# WinForm 技巧十: 开发工具
- 学习C#,每天一话
- C#基础笔记——序列化(Serialize)和反序列化(NonSerialize)
- C#中字符串处理(随时更新)
- C#中Predicate的一点理解
- C# Winform打包部署时添加注册表信息实现开机启动
- c#跨线程操作界面
- C#中自定义属性的例子
- C#中Hashtable、Dictionary详解以及写入和读取对比
- Reading CLR via c# 4th Edition
- 从面向对象编程的角度解析c#中的事件处理机制
- C# 中事件
- C# 浅谈委托----温故而知新
- 在C#中实现Socket端口复用
- c#添加了Configuration;后,竟然找不到 ConfigurationManager 这个类
- C#结构内存布局介绍
- C#常量(const)
- c#修改xml文件
- C#实现窗体截图(代码+效果)