`
prec
  • 浏览: 65361 次
  • 性别: Icon_minigender_1
  • 来自: 互联网
最近访客 更多访客>>
社区版块
存档分类
最新评论
阅读更多

一、前言

 

    随着各类multitouch硬件设备的不断推出和普及,Multi-touch带来的人机交互的革新也已经为期不远了。

    面对铺天盖地的Multitouch技术,和山雨欲来的开发形势,您是否也动心了呢。

 

    为什么要这么早弄这个,是不是超前了?我也不想的,其实我们都可以跟着微软走,反正支持multitouch的windows 7已经要出来了,iphone也有很多人正在使用,开发包也满天飞了。或者你们只是想去弄流行的Ajax技术,那么您可以直接忽略本篇。如果感兴趣,可以关注一下,但是对于其发展和未来,谁也不知道,我们也不能妄加猜测,所以我们也不能指着这门技术去糊口,起码现在不能。

 

二、前期准备

 

    工欲善其事,必先利其器。

 

    在使用工具上,主要分为如下几类,同样开发也是分为如下几个方面进行:

 

    1、数据提供端

    2、应用程序端

    3、两者之间的接口

 

    我们一个一个来说:

 

    1、数据提供端:

 

    数据由数据提供端提供。其实,手势数据的提供是来自硬件设备的,如红外探测摄像头、触控板、Wii手柄其他多路设备等等。但是由于条件所限,一般测试和开发推荐使用摄像头和TUIO模拟器。

          (1) 使用摄像头:事实上这也算是一个真正意义上的真实的硬件设备了,因为很多成品的multitouch设备都是用摄像头来做。故我们可以选用touchlib的OSC工具连接摄像头,进行捕获数据。TouchLib的代码可以在Google Code上找到并下载

          (2) 使用模拟器:推荐reactableTUIOSimulator,操作简单,直观。

 

    2、应用程序端:

 

    程序的实现部分,主要实现正常界面和业务逻辑等。这跟正常的开发没什么两样,只是输入设备由原先的鼠标、键盘变为多路输入设备,这个设备提供了多路数据,该数据由数据提供端提供给应用程序端。

 

    由于应用程序端是程序的实现,实现程序的语言当然就有很多种,目前单TUIO就支持C++、JAVA、C#、FLASH、Python等语言。为了方便起见,本文选择Flash系列的TUIO开发包。

 

    3、两者之间的接口:

 

   由于开发语言支持的众多,两者之间的接口也都不同,现在我们就Flash和数据提供者之间的接口为例简单阐述:

 

    FlashOSC:又叫FLOSC,用JAVA写用于连接一切使用OpenSound Control协议的的服务器。而TouchLib等恰恰使用这个协议进行通信。

 

三、Hello World

 

    这年头比较新比较难的技术资料不是很好找,但Hello World的资料倒是信手拈来,多得不能再多。

 

    这不,NUI Group论坛上就为我们准备了一份精致的DEMO,它就是由FLOSC、TUIOSimulator和TouchLib的as3 DEMO文件组合而成的(不过这个例子的FLOSC有点老了,似乎有一些BUG,建议去下个新的替换掉),当然如果您自己去组合更好了就是三个工具放一起,就是这么简单。

    我们启动它做一下测试(FLOSC已经替换为新版):

    1、启动FLOSC: java -jar FlOSC.jar,弹出窗口提示选择数据和应用两者之间的端口,我们按默认进行,直接点Start。

    2、启动TUIOSimulator:java -jar simulator.jar

    3、启动应用Test:双击Test.exe

 

    好了选择TUIOSimulator的界面,开始享受multitouch的感觉吧 。

 

四、TUIOSimulator操作的方法

 

    事实上TUIOSimulator是给reactable的产品专门使用的模拟器,有很多我们很少使用的东西,比如那些个方块和圆圈。

click to go back

   

简单操作:

 

    1、在白色区域内点击鼠标或点击鼠标并拖动:表示一只手点击或点击拖动,但是一旦松开鼠标,就表示手离开

    2、按住Shift 点击鼠标或点击鼠标并拖动:表示一只手点击或拖动,但是松开鼠标,还表示手在拖动。这样我们利用Shift可以表示出多个手指的点击和拖动

    3、去掉Shift造成的拖动,按Shift点灰色的圆点即可去掉这个拖动效果。

    4、边上的圆圈和方块是用来测试把物体放在真实的设备上的,圆的代表一种物体,方的代表另一种,目前我们还用不到。

 

五、OSC的操作方法

 

    1、先连接摄像头

    2、开启OSC

    3、开启FLOSC

    4、开启应用

 

    也就是说把TUISimulator替换成OSC。

    使用OSC时注意,OSC会把一切白色的东西都认为是手指点击或手指拖动轨迹,原因是,真实的环境是红外光探测摄像头和FTIR有机玻璃,摄像头根本探测不到其他可见光。而摄像头不是,故要用暗室或者调节明暗等参数去处理,比如用黑色做幕然后白色的点放幕上当手指等。

 

六、更多的例子

 

    1、touchlib的源码包内有个AS3文件夹,里面就有很多例子,比如图片,游戏,音乐等等例子,有兴趣的可以一一试验,实验时要注意,Flash的安全沙箱问题。

    2、从reactable上下载TUIO_Flash或者Google Code上下载TUIO-as-lib,然后编译,即可完成一个基础例子。

 

    而且这几个例子都是有源码的哦,我们可以稍作修改就做出自己的例子啦。

 

 

分享到:
评论

相关推荐

    USB触摸屏源文件--hid-multitouch

    1. **设备识别与初始化**:在"hid-multitouch"驱动程序中,会包含识别特定触摸屏硬件的代码,这通常涉及设备ID、供应商ID等信息。根据不同的触摸屏型号,这些信息需要进行相应修改以确保正确匹配。 2. **数据解析**...

    Using TMS MultiTouch SDK

    1. **处理多点触控事件**:这是实现多点触控应用的核心环节,需要监听并响应来自用户的触摸输入。 2. **同步操作对象**:根据多点触控事件,实时调整或操作界面上的对象,确保用户交互的即时反馈。 3. **可选地处理...

    MultiTouch_Detect.zip

    1. **连接检测**:程序能够自动识别连接的红外触摸框,并建立稳定的通信链接,确保数据传输的准确性和实时性。 2. **信号分析**:实时监测和显示红外触摸框的信号强度,帮助排查可能的信号问题。 3. **多点触控验证*...

    TMS MultiTouch SDK v.1.2.5.0 D2010-XE10.2 Crack.part1.rar

    TMS MultiTouch SDK v.1.2.5.0 D2010-XE10.2 Crack.part1.rar

    multitouch.zip_flash多点_multitouch_红外互动_红外触摸_红外触摸框

    本压缩包“multitouch.zip”聚焦于使用Flash进行多点触摸开发,特别是在Windows 7环境下,以及与红外互动和红外触摸框相关的应用。 Flash是Adobe公司开发的一款强大的多媒体创作平台,它支持动画制作、图形设计以及...

    Multitouch_1.24.13__TNT__xclient.info.dmg.zip

    Multitouch 是Mac平台上的一款可以增强你的多点触控设备的应用,可以让你将一个自定义的动作绑定到一个特定的魔力轨迹板或魔术鼠标手势。 Multitouch 可以让你将一个自定义的动作绑定到一个特定的魔力轨迹板或魔术...

    Windows7multitouch

    Windows 7操作系统是微软公司推出的一个里程碑式的产品,它在用户界面和交互性方面实现了显著的提升,其中最引人注目的特性之一就是多点触控(Multitouch)技术。多点触控允许用户通过手指或其他触摸设备同时控制...

    ILITEK_LINUX_HID_MULTITOUCH_DRIVER_CHS_V2.0.pdf

    知识点1:Linux内核版本和驱动安装 文档中提到,如果Linux内核版本介于3.0.35到3.5之间,驱动安装步骤有所不同。首先,用户需要通过lsusb或busybox lsusb或cat /proc/kmsg来获取触摸屏装置的Vendor ID(VID)和Product...

    Windows7.Multitouch.zip

    《Windows7.Multitouch技术详解及其在Iobject开发中的应用》 Windows7.Multitouch是针对Windows 7操作系统设计的一项重要技术,它旨在提供多点触控(Multitouch)功能,使用户能够通过手指或其他触摸设备进行更直观...

    Windows7.Multitouch

    Windows 7 操作系统引入了多点触控(Multitouch)功能,极大地提升了用户交互体验,尤其是在移动设备和平板电脑上。这项技术使得用户可以通过手指同时进行多个触摸点的操作,为应用程序开发提供了新的可能性。在 ...

    屏幕多点触控检测MultiTouchTester.apk

    一个Androi下面屏幕多点触控检测程序,MultiTouch.apk

    Android 多点触摸(Multitouch ImageView)

    在Android开发中,多点触摸(Multitouch)是一项关键特性,它允许用户通过两个或更多的手指同时与屏幕交互,增强了用户体验。本示例聚焦于如何实现一个多点触摸的ImageView,使得图片不仅可以被拖拽,还可以进行旋转...

    Multitouch 多点触摸ImageView效果

    在Android开发中,多点触摸(Multitouch)功能是一个重要的交互方式,它允许用户同时使用两个或更多个手指来操作界面元素,如放大、缩小、旋转等。本项目聚焦于在ImageView上实现多点触摸的缩放效果,并结合Gallery...

    simple-multitouch:简单的 JavaScript 多点触控手势识别演示

    1. 引入库:在HTML文件中通过`<script>`标签引入`simple-multitouch.js`文件。 2. 初始化:创建一个`SimpleMultitouch`实例,并指定需要监听的手势。 3. 事件处理:注册手势事件监听器,对识别到的手势进行响应。 ...

    MultiTouch.7z 几个多点触控的测试程序

    MultiTouch VelocityTracker Pointer2Draw 几个多点触控的测试程序 MultiTouch VelocityTracker Pointer2Draw 几个多点触控的测试程序

    Rexroth MTX 15VRS NC Simulation Multitouch 力士乐数控系统

    力士乐数控系统MTX 15VRS NC Simulation Multitouch是一款先进的工业自动化解决方案,由全球知名工业技术供应商博世力士乐(Bosch Rexroth)开发。这款系统集成了先进的模拟和多点触控技术,专门用于数控(NC)应用...

    touch_multitouch_gestures

    标题“touch_multitouch_gestures”和描述“touch_multitouch_gestures”暗示了这个压缩包可能包含与多点触控手势相关的项目或教程。多点触控(Multi-Touch)是一种允许用户通过同时触摸和操作屏幕上多个点来与设备...

    multiTouch协议

    Touch and multitouch are becoming more prevalent on devices. From Microsoft Surface to home-brewed multitouch devices, it is clear that hardware availability is beginning to catch up to user demand ...

    MultiTouch

    在xp下实现win7下多点触控的效果,需要先安装SKD v7.0的开发包GRMSDK_EN_DVD.iso,然后调用GetSystemMetrics,GetTouchInputInfo,GetGestureInfo等函数即可

    Android开发之多点触摸(Multitouch)

    在Android应用开发中,多点触摸(Multitouch)是一项重要的功能,允许用户通过两个或更多的手指同时与屏幕交互,提供了更加丰富的用户界面体验。在本篇内容中,我们将深入探讨Android多点触摸的实现机制、相关的API...

Global site tag (gtag.js) - Google Analytics