最近做了一个项目,需要打开一个编辑UI,平时不显示,如果在UI界面上做一个按钮,感觉很丑,就想到了Reporter_Logs的画圆触发。

  识别到你在界面上画了一个圆 (可用于 Windows 和 Android) 代码如下:

bool isGestureDone()
{
if (Application.platform == RuntimePlatform.Android ||
Application.platform == RuntimePlatform.IPhonePlayer)
{
if (Input.touches.Length != 1)
{
gestureDetector.Clear();
gestureCount = 0;
}
else
{
if (Input.touches[0].phase == TouchPhase.Canceled || Input.touches[0].phase == TouchPhase.Ended)
gestureDetector.Clear();
else if (Input.touches[0].phase == TouchPhase.Moved)
{
Vector2 p = Input.touches[0].position;
if (gestureDetector.Count == 0 || (p - gestureDetector[gestureDetector.Count - 1]).magnitude > 10)
gestureDetector.Add(p);
}
}
}
else
{
if (Input.GetMouseButtonUp(0))
{
gestureDetector.Clear();
gestureCount = 0;
}
else
{
if (Input.GetMouseButton(0))
{
Vector2 p = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
if (gestureDetector.Count == 0 || (p - gestureDetector[gestureDetector.Count - 1]).magnitude > 10)
gestureDetector.Add(p);
}
}
} if (gestureDetector.Count < 10)
return false; gestureSum = Vector2.zero;
gestureLength = 0;
Vector2 prevDelta = Vector2.zero;
for (int i = 0; i < gestureDetector.Count - 2; i++)
{ Vector2 delta = gestureDetector[i + 1] - gestureDetector[i];
float deltaLength = delta.magnitude;
gestureSum += delta;
gestureLength += deltaLength; float dot = Vector2.Dot(delta, prevDelta);
if (dot < 0f)
{
gestureDetector.Clear();
gestureCount = 0;
return false;
} prevDelta = delta;
} int gestureBase = (Screen.width + Screen.height) / 4; if (gestureLength > gestureBase && gestureSum.magnitude < gestureBase / 2)
{
gestureDetector.Clear();
gestureCount++;
if (gestureCount >= numOfCircleToShow)
return true;
} return false;
}

  

Unity UI 识别画圆手势的更多相关文章

  1. Unity GL 画圆

    Unity下GL没有画圆的函数,只能自己来了. 如果能帮到大家,我也很高兴. 虽然没有画圆的函数,但是能画直线,利用这一点,配合微积分什么的,就可以画出来了.反正就是花很多连在一起的直线,每条直线足够 ...

  2. java练习:质数,匿名内部类创建接口,抽象类派生子类,画圆,字节截取字符串,数字变钱币,五子棋,梭哈

    java学习-质数的孤独 正在看质数的孤独,,,于是写了一个练习代码,输出1-100之间的质数 代码比较烂.待完善吧. 这里用到了continue和break,continue指结束当前轮次循环,跳入 ...

  3. WebGIS中基于AGS的画圆查询简析以及通过Polygon来构造圆的算法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 某个项目需求中需要在前端进行画圆查询,将圆范围上的多边形要素 ...

  4. 《图形学》实验六:中点Bresenham算法画圆

    开发环境: VC++6.0,OpenGL 实验内容: 使用中点Bresenham算法画圆. 实验结果: 代码: #include <gl/glut.h> #define WIDTH 500 ...

  5. Unity UI on the HoloLens

    Following the steps under "Required configuration" will allow Unity UI to continue to work ...

  6. ArcGIS JS 学习笔记2 实现仿百度的拖拽画圆

    一.前言 吐槽一下,百度在国内除了百度地图是良心产品外,其他的真的不敢恭维.在上一篇笔记里,我已经实现了自定义的地图测量模块.在百度地图里面(其他地图)都有一个周边搜索的功能,拖拽画一个圆,然后以圆半 ...

  7. canvas入门(画圆)

    1.想在H5上画一个canvas,必须在页面上你需要的地方添加canvas标签, <canvas id="myCanvas"></canvas>   接着需 ...

  8. 【openGL】画圆

    #include "stdafx.h" #include <GL/glut.h> #include <stdlib.h> #include <math ...

  9. javascript画直线和画圆的方法(非HTML5的方法)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. 【液晶模块系列基础视频】4.1.X-GUI图形界面库-画线画圆等函数简介

    [液晶模块系列基础视频]4.1.X-GUI图形界面库-画线画圆等函数简介 ============================== 技术论坛:http://www.eeschool.org 博客地 ...

随机推荐

  1. Java基础学习笔记-运算符ヽ( ̄▽ ̄)و

    运算符 运算符-按功能分为7种 1.赋值运算符 广义赋值运算符 +=, -=, *=, /=, %=, &=, |= 一般形式:变量名 运算符=表达式 两侧的类型不一致会进行 自动类型转换 和 ...

  2. 如何使用MASA.Blazor

    MASA.Blazor 是什么? 基于Material Design设计和BlazorComponent的交互能力提供标准的基础组件库.提供如布局.弹框标准.Loading.全局异常处理等标准场景的预 ...

  3. SSM使用PageHelper

    第一步---->导入Maven依赖 <!--pageHelper--> <dependency> <groupId>com.github.pagehelper ...

  4. 行为型模式 - 责任链模式Chain of Responsibility

    我就想知道我又哪里有广告植入了,告诉我. 学习而来,代码是自己敲的.也有些自己的理解在里边,有问题希望大家指出. 模式的定义与特点 责任链(Chain of Responsibility)模式的定义: ...

  5. 1月10日内容总结——linux前期知识储备,linux系统、目录、文件相关命令,vi和vim,目录结构

    目录 一.前期必备知识 二.系统运⾏命令 帮助指令 关机/重启命令 三.快捷方式命令 四.⽬录结构与文件相关命令 1.pwd显示当前目录绝对路径指令 2.cd切换到指定目录指令 3.mkdir创建目录 ...

  6. 【学习日志】volatile关键字的作用

    消除指令重排序 保证了不同线程对变量进行操作时的可见性,cpu对变量值修改后,其他线程读取变量信息时从内存读取而非cpu缓存

  7. MySQL数据库报1055错误

    有点坑啊,当初装MySQL数据库的时候没有整配置文件,结果MySQL报1055错误的时候,网上的解决办法都说如果需要永久生效的话,只能通过改配置文件实现,but,我没有配置文件,蜜汁尴尬啊 1.已安装 ...

  8. Docker安装Tomcat应用服务器

    1.安装镜像 1. Install the image: 可以先到https://hub.docker.com/  搜索镜像 You can get there first. https://hub. ...

  9. PX4源码地址和wiki

    [源码] https://github.com/987419640/Firmware [wiki] https://dev.px4.io/v1.9.0/zh/concept/architecture. ...

  10. python实现移动二级目录下的文件到一级目录

    python实现移动二级目录下的文件到一级目录 import os import shutil import sys def move_to_work_folder(work_path, cur_pa ...