最近做了一个项目,需要打开一个编辑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. Maven初学习

    Maven初学习 摘要:本篇笔记记录了我在初学Maven是认为比较重要的一些知识点. 目录 Maven初学习 1.Maven简介 1.1.项目构建 Ant Maven Gradle 1.2.总结 2. ...

  2. 可持久化杀手——rope学习笔记

    概述 std::rope,内部一说是可持久化平衡树,一说是块状链表. 它可以实现很多可持久化数组问题. 基本使用 #include<bits/extc++.h> using namespa ...

  3. 路由分发、名称空间、虚拟环境、视图层三板斧、JsonResponse对象、request对象获取文件、视图层FBV与CBV的源码剖析、模版层简介

    今日内容详细 路由分发 ​ django的每一个应用都可以有自己独立的路由层(urls.py)静态文件(static文件夹)模板层(templates文件夹) ​ 基于这个特性多人开发项目就可以完全解 ...

  4. vulnhub靶场之FUNBOX: GAOKAO

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Funbox: GaoKao,下载地址:https://download.vulnhub.com/funbox/FunboxGaoKao.ova ...

  5. android开发技巧杂谈

    android开发技巧一 android的一些常用包是发布在国外的,所以一些包,我们下载不下来,我们可以使用阿里云的镜像地址(maven { url 'https://maven.aliyun.com ...

  6. Backbone前端框架解读

    作者: 京东零售 陈震 一. 什么是Backbone 在前端的发展道路中,前端框架元老之一jQuery对繁琐的DOM操作进行了封装,提供了链式调用.各类选择器,屏蔽了不同浏览器写法的差异性,但是前端开 ...

  7. Node.js学习笔记----day05(MongonDB详情)

    认真学习,认真记录,每天都要有进步呀!!! 加油叭!!! 一.es6中的find() 方法的原理 EcmaScript 6 对数组新增了很多方法 比如,find find 接收一个方法作为参数,方法内 ...

  8. 微服务学习计划——SpringCloud

    微服务学习计划--SpringCloud 在学习并掌握了众多基础框架之后,我们的项目繁杂且难以掌握,那么我们就需要开启一门新的课程,也就是我们常说的微服务架构 随着互联网行业的发展,对服务的要求也越来 ...

  9. 详解Redisson分布式限流的实现原理

    摘要:本文将详细介绍下RRateLimiter的具体使用方式.实现原理还有一些注意事项. 本文分享自华为云社区<详解Redisson分布式限流的实现原理>,作者: xindoo. 我们目前 ...

  10. vuluhub_jangow-01-1.0.1

    前言 靶机:jangow-01-1.0.1 攻击机:kali linux2022.4 靶机描述 打靶ing 靶机探测 使用nmap扫描网段 点击查看代码 ┌──(root㉿kali)-[/home/k ...