【补】flash操作,以及很大的茶几..

来源:互联网 发布:直播配音气氛软件 编辑:程序博客网 时间:2024/04/29 15:34

嗯,今天蛋疼,忽然发现,这个东东都不写一两句,对不起那么多的加班啊。


【触摸茶几】

购买了一个触摸茶几,要在上面,使用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。