初步阅读tuio.as

tuio.as,as3 上实现多点触摸的支持类。功能是解析 Flosc 发送的内容,产生 as3 上的多点触摸事件(这个类主要是网络传输层的支持,产生 as3 可以处理的事件,但是还没有实现多点触摸。这样的触摸效果再一些更高层的类实现,比如 RotatableScalable.as,处理 tuio.as 产生的事件,然后生成多点旋转、缩放效果)。

 

这里记录一下 tuio.as 都做了什么。

 

在构造中,tuio 启动了一个 xmlsocket,看名字,是一个处理 xml 格式的 socket 链接。链接的位置在构造的参数里给。比如,按照默认设置链接到 localhost:3000 这个端口。在这个端口上,必须已经运行着一个 Flosc,或者类似的东西。这里可以做这样的测试:开始-运行-cmd,然后 telnet 127.0.0.1 3000,如果一闪之后窗口整个变黑,有一个点闪动,这说明底层支持没有问题,tuio 将正常运行;如果提示连接失败,就是支持还没有启动。

在链接完成后,有这个函数:private static function processMessage(msg:XML):void,这是在事件级别处理 socket 得到的内容,向下看,解析了 xml 字符,就是 tuio 协议吧,主要是得出 x、y 等等这样类似的坐标信息,当然要知道 tuio 的具体内容,才能更准确。在解析完成后,函数后面调用了dispatchEvent(对象),就是产生了 as3 的自定义事件——这里是多点触摸事件。

还有其他的功能,比如根据构造的参数判断是否产生调试信息。

 

基本上就是这些。

 

因此,可以设想,只要在任何语言(比如c#),链接到那个端口(localhost 3000),然后解析 xml,然后就可以得到多点触摸事件。

不过还要带一个 Flosc,不爽。

虽然 osc 是更底层的协议,不过只要找到说明,也可以实现,这样,就不用这个桥了,直接解析底层协议,因此就不用 tuio 这个 xml 文本,直接自己产生事件。

 

想象可以用 c# 直接实现,而不必用不习惯的 as3,挺爽的哈。

不过还要实现 RotatableScalable 这样的最终效果,还有画图、做动画,等等。

 

在想想 flash 里面方便的动画制作,as3 的易学,用 c# 做这东西玩一下可以,没什么实用价值。

如果考虑到性能,为什么不直接用 c++?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值