cocos2d-x引擎实现$1Unistroke Recognizer手势识别
$1 Unistroke(单笔画) Recognizer官网
http://depts.washington.edu/aimgroup/proj/dollar/
(在官网还有多笔画的识别库)
代码下载
http://depts.washington.edu/aimgroup/proj/dollar/others/cpp.bw.zip
下载代码包括:
GeometricRecognizer.h
GeometricRecognizer.cpp
GemetricRecognizerTypes.h
GestureTemplate.h
PathWriter.h
SamplesGestures.h
使用示例:
1.你的Layer需要实现以下两个方法
virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);
virtual void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);
2.初始化GeometricRecognizer来加载你的手势模板
private:
GeometricRecognizer* g_rGemertricRecognizer;
//加载模板
rGemertricRecognizer=new GeometricRecognizer;
rGemertricRecognizer->loadTemplates();
3.记录触摸操作(玩家在手机上所做手势的路径)
//声明一个坐标集合
private:
Path2D p_2dPath;
//Layer的ccTouchesMoved方法中记录坐标
CCSetIterator it = pTouches->begin();
CCTouch* touch = (CCTouch*)(*it);
CCPoint location = touch->locationInView(touch->view()));
Point2D p_Point2DTemp;
Point2DTemp.x=location.x;
Point2DTemp.y=location.y;
//记录
p_2dPath.push_back(Point2DTemp);
4.通过GeometricRecognizer校准
//Layer的ccTouchesEnded方法中, 下面屏蔽玩家单击操作
if (p_2dPath.size() < 1){
return ;
}
RecognitionResult result = GemertricRecognizer->recognize(path2d);
//RecognitionResult 结果
class RecognitionResult
{
public:
string name;
double score;
RecognitionResult(string name, double score)
{
this->name = name;
this->score = score;
}
};
//这个类会保存你的自定义的模板名称(name未找到会回返回Unknown)和相似度(score 0.0-1.0)
cocos2d-x引擎实现$1Unistroke Recognizer手势识别的更多相关文章
- iOS cocos2d游戏引擎的了解之一
ios游戏引擎之Cocos2d(一) cocos2d是一个免费开源的ios游戏开发引擎,并且完全采用object-c进行编写,这对于已经用惯object-c进行ios应用开发的童鞋来说非常容易上手.这 ...
- 【Cocos2d-HTML5 开发之一】新建HTML5项目及简单阐述与cocos2d/x引擎关系
真的是有一段时间没写博了,这段时间呢,发生的事情真的挺多,另外自己呢也闲来做了一些自己的喜欢的东西,主要做的还是基于Mac系统的Cocoa框架的各种编辑器吧.(对了,今年初也出了自己第二本书<i ...
- 《黑马程序猿》 cocos2d游戏引擎复习笔记一
/** ----------------------------游戏场景的搭建-------------------------------- 1首先创建一个surfaceview ,它能够在子线程中 ...
- iOS cocos2d 2游戏开发实战(第3版)书评
2013是游戏爆发的一年,手游用户也是飞速暴增.虽然自己不做游戏,但也是时刻了解手机应用开发的新动向.看到CSDN的"写书评得技术图书赢下载分"活动,就申请了一本<iOS c ...
- Cocos2d入门--2--三角函数的应用
其实,三角函数的知识点是初中的数学基础.但是在编程里合理的利用的话,也会很好玩的,可以制作出很多有趣的动画特效. 首先要注意的是 角度 和 弧度 的转换. 360度 = 2×PI弧度 180度 = ...
- Cocos2d入门--1--初涉相关属性或代码
Cocos2d vision: cocos2d-x-3.8.1 万丈高楼,起于累土.对于一个游戏框架的学习,其实在于框架功能的使用积累,学会了如何在cocos2d游戏引擎的基础上使用它提供的各种功能 ...
- Cocos2d—X游戏开发之CCTableView详解(十一)
本来很早就想写关于CCTableView的文章,但是在基本功能实现之后呢,项目需求增加导致对这个控件的研究必须更加深入一点. 好的,现在开始介绍一下这个控件,在Cocos2d—X引擎中,这是一个仿制i ...
- cocos2D(三)---- 第一cocos2d的程序代码分析
在第一讲中已经新建了第一个cocos2d程序,执行效果例如以下: 在这讲中我们来分析下里面的代码,了解cocos2d的工作原理,看看屏幕上的这个"Hello World"是怎样显示 ...
- Cocos2d-android游戏引擎-介绍
一.游戏引擎概念 什么是游戏引擎 游戏引擎是指一些已编写好的可编辑游戏系统或者一些交互式实时图像应用程序的核心组件.这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计 ...
随机推荐
- Spring AOP--返回通知,异常通知和环绕通知
在上篇文章中学习了Spring AOP,并学习了前置通知和后置通知.地址为:http://www.cnblogs.com/dreamfree/p/4095858.html 在本文中,将继续上篇的学习, ...
- java中接口与多重继承的关系
在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...
- chrome启用本地文件
chrome禁止本地浏览时加载本地其他文件,可以采用添加启动参数的方式来支持 添加参数为 --allow-file-access-from-files 或者 --disable-web-securi ...
- 刷票 变 IP
刷票 变 IP
- 【原】Storm及特点
Storm入门教程 1. Storm基础 Storm Storm主要特点 Storm基本概念 Storm调度器 Storm配置 Guaranteeing Message Processing(消息处理 ...
- Good practice release jar to Nexus
Step suppose you need to develop a feature,when you finish the feature ,you need to release the jar ...
- IP查找工具——angry IP Scanner
作用] 若树莓派没有屏幕可通过该工具查找树莓派的IP地址.例如下图的树莓派IP地址可能为192.168.1.107. 图1 IP scan查找树莓派IP地址
- 转载Sql 获取数据库所有表及其字段名称,类型,长度
转载原地址 http://www.cnblogs.com/Fooo/archive/2009/08/27/1554769.html SELECT (case when a.colorder=1 the ...
- SOD-80 LL34 DL-35 (2.7~75V)贴片稳压二极管【worldsing 笔记
¨ Silicon Planar Zener Diodes ¨ In Mini-MELF case especially for automatic insertion. ¨ The Zener vo ...
- css3种方法实现元素的绝对居中
元素的绝对居中应该是很多人熟悉的一个小应用,我记得很多年前去神州数码面试的时候就遇到过这个面试题.方法比较简单,代码如下: .node{ width : 300px; height : 400px; ...