MENU

c#

Leap Motion 的一个简单应用

新年好

大家好。己亥年到了,这意味着什么呢?这意味着我又拖更几个月了。

年前,数字媒体处理技术这门课作为最后出分的科目,有点惊到我。我都不知道为什么要给我rank 1。所以今天就接着写这门课的内容吧。

做了啥

要求

第四次实验围绕体感交互展开。发到大家手里的设备有Kinect(或Xtion)和Leap Motion两种,具体做什么自己来决定。Kinect就是XBOX上的那玩意儿大家都知道;Leap Motion是在比较近的距离做手势识别的。按道理来说,一个小组做什么东西还是要brainstorm一下搞个技术选型,但是我们没有。只因组长太优秀,在大家还在 () 习软件工程四大金刚的时候,东西都做完了。

制品

Demo
这个东西的功能就是给小人画衣服(大雾),我们组长老早就做好了的,应该说基本只差接入Leap Motion的控制就完工了。虽然这个东西感觉好像没有什么用的样子(小声),但是作为这次大作业还是可以的。之后不知道怎么回事搞Leap Motion的活就到了我身上。我们做的东西too simple,本来有点不好意思写来着演示视频请看文末。

Read More

vPilot加密配置项处理全解析

VATSIM的新连线客户端vPilot出来挺久了,我一直都没去看,Hans倒是当天就开始研究了。vPilot有一个问题,就是它是VATSIM-Only的设定,除了VATSIM的那一票服务器外其他的都不能连。在它的配置文件中,有一项是这样的:pZ9u441bE4a2NCGgqMxKNvwAIy0qEA+AwXB8c3sV90c=。它看起来是用Base64编码的字符串,但是使用Base64去解码没有效果。紧随其后的,是名为CachedServer的标签,但是它的值也和NetworkStatusURL是一样无法解码的。

我今天怀着必胜的信念尝试解决这个问题。因为没有什么顾虑,此处我将披露所有技术细节。在开始前,我可以先说明最初的思路是错误的,但是这不要紧,这些分析方法不一定不适用于所有情况。当然,也算一次有意义的尝试。

Read More

使用WinForm实现无边框窗口

虽说新项目还没有提上议程,甚至第一次策划会议也一直没有召开,但是准备工作多多少少是有一点点了。项目难度最大的,就是开发桌面应用程序。这几乎是一个大家都没有多少了解的问题,所以下手比较困难。2013年初我们从TFDi Design处采购了smartCARS,同年7月Hans使用Visual Basic .Net开发了iTracker 2.0,这大概是我们选用.Net的原因吧。

2013年底(真正的年底),我开始使用Visual Studio 2013了。与Hans,不一样的是,我使用的是C#。我长期使用各种类C的程序语言,所以C#很快就能上手了。期间写过一些测试性的东西,写过一个即时通讯(上一篇日志提到过,服务端使用PHP with Swoole Extension)。VS的控件样式实话实说是很难看的;较新的VS,提供一些Flat的属性,磕磕巴巴地出来一些效果。如下图:

当然,我要寻求更好的解决方案。我找到了一篇文章Designing GitHub for Windows。自己向来非常认同GitHub的理念,便也想使用WPF尝试尝试。尝试的过程很艰辛,毕竟接触微软家的VS才一个月,Blend更是从来没有上过手。折腾了一个晚上,最后觉得太困难,还是暂时放弃了。我将目光转向WinForm。WinForm开发难度小得多,我刚开始使用VS便能顺利写出诸如“计算器”之类的小玩意儿;此时我甚至已有使用WinForm实现无边框窗口的想法。尝试了一下,确实可以。接下来我讲一讲我的做法。

Read More