嗯,今天蛋疼,忽然发现,这个东东都不写一两句,对不起那么多的加班啊。
【触摸茶几】
购买了一个触摸茶几,要在上面,使用flash反馈,再调用相关的exe,达到控制空调、电视等电器。因为遥控器太多了,不方便统一管理。主要是不够炫而已。。
对于这个触摸茶几,它也不是像我们手机触摸屏那种。那样就太贵了。
事实上,它是一种投影的机制。上面的真的就是玻璃,下面主机运行,将它投影到上面。
触摸的话,是通过茶几上的两个红外线摄头,放射出射线,当有手指或其他东西放在上面时,会有阴影投影到桌面上,下面有捕捉这种阴影的器件,通过检测阴影的位置等信息,触发相关的触摸事件。
据说是一种很成熟的技术了。很有趣,不是真正的触摸,却可以模拟触摸。
【flash程序】
蛋疼,没正式接触过as,现在又赶着要用。烦。。
首先,flash与外部程序通信,主要是fscommand。
FSCommand(cmd_string, arg_string) 执行主机端指令。
n如下使用:
1.flash的命令
1.1 全屏
fscommand(“fullscreen”,“true”);
1.2 显示菜单
fscommand(“showmenu”,“true”);
1.3 其他flash命令
2.exec执行外部exe
例:fscommand(“exec”,“notepad.exe”);
但是,有几个问题:
Note:
1.随着flash安全性的增强,不允许给exe传递参数。
2.在flash mx后,flash文件不能是.swf,需为.exe。并且要在与flash文件同一目录下新建命名为 fscommand的文件夹,里面放被调用的exe。
flash里面的安全沙箱,要设置:
在Adobe Flash Player 设置管理器—“全局安全设置面板”指定安全的位置。(http://www.macromedia.com/support/documentation/cn/flashplayer/help/ )
其次,as的问题。
ActionScript 是针对 AdobeFlash Player 运行时环境的编程语言。
1.在flash元件上使用
方法:右击元件——动作
注意:在ActionScript3.0后不允许使用

2.在flash帧上使用
方法:右击帧——动作

3.在外部的as文件中使用
方法:在fla文件所在目录下,建立as文件。
或者是建立包的文件夹。

注意:
1.慎用as文件的功能。如在这里不应该在as里有生成元件的功能(会导致swf在delphi里播放不正常)。
2.显示,应该用元件管理,代码管理图形界面不是很理想(坐标等问题)。
再者,对flash触摸事件的说明。
在flash.events.TouchEvent提供
(当前仅在windows 7上支持)
有厂商提供的touchlib,里面有TUIOEvent
支持有:
TUIO_MOVE
TUIO_DOWN
TUIO_CLICK(未实现)
TUIO_UP
TUIO_OVER
TUIO_OUT
1.一开始的触摸不行,是没有进行TUIO.init的设置(这个超弱智的错误,在新版本没添加)
解决方法:添加init配置
2.偏差问题是由于全屏播放后,元件的放大,造成有位移之类。这个我感觉就是它touch事件不够好,鼠标事件是会正确处理元件的放大啊这些问题
解决方法:在fla文件,修改-文档,修改它的分辨率。
3.初步测试,不能在stage上统一添加listener,再处理。需要在每个button上添加listener。鼠标事件两种方式都行,应该也是touch事件处理问题
4.添加一个Sprite,当做容器,把所有buttons包含进去,可以减少偏移。猜测是容器限制了元件的缩放。
5.由于反应太灵敏,会照成一次按键,触发多个event。可在flash里,检测到一个事件后,移除listener,在一个定时后,重新添加listener。