Flex 实现鼠标手势 无码 );
声明:自己想的、写的东西,转载请注明出处; 不要向我要代码; from CSDN ID: wander000
目的:在做小程序时,显示一些重要的数据如帐号密码等,不想让别人直接看到,在指定组件上按规定好的轨迹晃动鼠标才显示。
问题:一、直接打开数据库不就看到明码了?二、怎么判断鼠标轨迹的形状?
解决:一、数据库存取时用上加解密。二、不判断轨迹的形状,判断经过的方向。
不管三七二十一,先把经过该组件的鼠标路径记录下来再说:
TrackArr.push( { "x" : e.localX, "y" : e.localY } );
//TrackArr记录鼠标移动的轨迹
其它事项:1、鼠标移出该组件,TrackArr清空。
2、鼠标一段时间不动表示动作结束,开始计算。
3、解锁后不应再响应事件,但在N秒内没有操作数据将再次加锁。
这几项问题不在这儿细讲了。
那现在有了轨迹数据,怎么判断是否按规定的轨迹晃动了呢?
先看下图:
假设以中心红点为第一点,第二点落在A的区域内,这两点的线段就认为是向上。
那又是怎么判断第二点在哪个区域呢?加减乘除白~
第二点的x <= 第一点的x : A D C 区 否则 : A B C 区
第二点的y <= 第一点的y : A D B 区 否则 : D B C 区
第二点的x - 第一点的x 的绝对值 / 第二点的y - 第一点的y 的绝对值 <=1 : A C 区 否则 : D B 区
好吧,你需要判断被除数是否为0(如果是0怎么办?考考你y2-y1=0……哪两区会出现这情况 ^.^) ,经过三重判断过滤后,只有一个区域会剩下,如:
x1=10 y1=10
&
相关文档:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"
viewSourceURL="srcview/index.html" backgroundColor="0x000000" layout="absolute">
<mx:Script>
&nb ......
在Flex里,一般的弹出窗口(除了Alert以外)都可以用TitleWindow组件完成,主窗口和TitleWindow的数据传输可以用以下方法
假设TitleWindow的实例文件为titleWin.mxml,则要在Application中用PopUpManager创建一个titleWin的引用
private var popWin:titleWin = titleWin(PopUpManager.createPopUp(this,titleWin,true) ......
FLEX--仿Google联想框效果--现在好多地方都用到了这样的效果,当然,现在Google下线了,不让用了,但是跟网上说的一样,想办法,它还是能出来的
首先是事件源,也就是从何而起,如下的一个输入框:
复制代码 代码如下:
<mx:FormItem label="集团客户:" width="42%">
<!--change1-->
<mx:TextInput id="txt ......
1、假如一个自定义控件被用在一个主控件里,在自定义控件里的方法可以转换为主控件的方法,完成调用。
userRulesCanvas.mxml 和 editRulesCanvas.mxml
compent控件代码如下:
private function submitClick():void
{
......
Flex事件机制是观察者模式,即首先要注册事件,事件分发后通过事件响应函数进行处理。
例如在AS3中:
button.addEventListener(“click”,onClick);//向button注册一个click事件
internal function onClick(evt:MouseEvent):void{txt.text=“click a button!”;}//事件响应函数 那么注册事件注册什么呢?通 ......