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 ......
as:
var app:Object;
function setApp(ap:Object):void{
this.app=ap;
}
btn.addEventListener(MouseEvent.CLICK,onClick);
function onClick(event:MouseEvent):void{
app.fun(btn.label);
}
flex:
private function onSwfLoaded(event:Event):void
{
myloader.addEventListen ......
ArrayCollection经常做ComboBox控件的集合还有DataGrid的集合,要注意它的格式。data的属性里面如果是数字不需要双引号,若是字符串就必须加,而且需要提前作var定义
public var outgoing:String;
  ......
flex 装载多个module出现: 强制转换类型失败,出现某些类不能转换
例如:
无法将 mx.managers::PopUpManagerImpl@7155ac1 转换为 mx.managers.IPopUpManager。
解决方法是在Application加入引用
1.
import
mx.managers.DragManager;
private
var dragManager : DragManager;
2. ......
Flex事件机制是观察者模式,即首先要注册事件,事件分发后通过事件响应函数进行处理。
例如在AS3中:
button.addEventListener(“click”,onClick);//向button注册一个click事件
internal function onClick(evt:MouseEvent):void{txt.text=“click a button!”;}//事件响应函数 那么注册事件注册什么呢?通 ......