AS3中将TUIO协议转换到传统触摸事件

本文介绍了如何在AS3中将TUIO协议转换为传统触摸事件。TUIO是一个多点触摸协议,不受Windows触摸点上限限制。内容涉及TUIO的连接、数据包解析,以及如何处理新点出现、点移动和点消失的状态,通过创建触摸点类和处理函数实现事件冒泡。
摘要由CSDN通过智能技术生成

     TUIO是一个用途广泛,支持厂商众多的多点触摸协议。 其编码采用XML抽象描述,所以任何支持XML的语言都可以使用TUIO协议的触摸设备。另外,TUIO不受windows触摸点上限限制,即设备支持多少个点,你就能使用多少个。

    现在最新的TUIO协议版本是2.0 ,  但是仍然没有普及,现有设备还是以1.0为默认支持。


    希望在设备中使用TUIO,必须要与TUIO服务建立一个连接,TUIO协议的默认端口为 3000,这里跳过连接直接进入主题。

   

    这是一个TUIO协议的一个数据包,其包含至少3个名为MESSAGE子项,每个子项的第一个子项的value属性定义了此子项的数据类型,

    以此例为示,它有3个子项,第1个子项(alive)代表着当前存在的触摸点,这里是指所有在设备上的触摸点,包括那些正在移动的和静止的。第2个子项(set)对应了一个触摸点的详细数据,第3个子项(fseq)定义了包的序列ID。

<OSCPACKET ADDRESS="127.0.0.1" PORT="55448" TIME="-3736546999771946328">
  <MESSAGE NAME="/tuio/2Dcur">
    <ARGUMENT TYPE="s" VALUE="alive"/>
    <ARGUMENT TYPE="i" VALUE="4"/>
  </MESSAGE>
  <MESSAGE NAME="/tuio/2Dcur">
    <ARGUMENT TYPE="s" VALUE="set"/>
    <ARGUMENT TYPE="i" VALUE="4"/>
    <ARGUMENT TYPE="f" VALUE="0.014778325123152709"/>
    <ARGUMENT TYPE="f" VALUE="0.03414634146341464"/>
    <ARGUMENT TYPE="f" VALUE="0"/>
    <ARGUMENT TYPE="f" VALUE="0"/>
    <ARGUMENT TYPE="f" VALUE="0"/>
  </MESSAGE>
  <MESSAGE NAME="/tuio/2Dcur">
    <ARGUMENT TYPE="s" VALUE="fseq"/>
    <ARGUMENT TYPE="i" VALUE="3"/>
  </MESSAGE>
</OSCPACKET>

    事实上,我们只需要使用alive和set消息,其他的消息都不在我们的考虑之内,

    set消息传过来的参数只是TUIO设备上的坐标比例,从0-1,将其与本地舞台大小相乘才能得到舞台坐标。


   alive消息描述了当前存在的点,根据这个参

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值