党~不管怎样,flex是一门容易上手,且易于出彩的技术。所以呢,学习吧,,,其实是被老板逼的...
我的世界里代码总是想绑架数据,在flex的’以娃儿问门特(environment)‘中以下方式是合理避开异常纠纷的:
1.常用方式:使用[Bindable(event="change")]定义一个可绑定的变量,然后用{}来绑定到组件上
2.mxml方式:<Binding source="数据源" destination="目的地" />
3.as3方式:BindingUtils.bindProperty(destination, property, source, property);
BindingUtils.bindSetter()绑定改变后的执行的函数
4.双向绑定:@{}或者<Binding twoWay="true" />
无论在神马以娃儿问门特中,我都想绘图,因为艺术,不是‘马龙’:
鸟情提示:无法通过ActionScript代码直接创建Graphics对象,只能利用绘图接口来获得graphics属性。资深菜鸟亲测jiong
1.Shape:创建简单图形
2.Sprite:构建显示对象容器,支持鼠标事件
DisplayObject
x, y: 实例相对与父容器的坐标
mouseX, mouseY: 容器内鼠标的坐标
scaleX, scaleY: 缩放比例
rotation: 旋转angle
filters: 滤镜对象数组
scale9Grid: 缩放网格
scrollRect: 显示对象的滚动范围
root: 显示列表对象的顶级显示对象
mask: 遮罩,设置为null可删除
stage: 显示对象的舞台,表示显示flash的整个区域
transform: 可转换属性,包含matrix, colorTransform
据说阿基米德洗澡的时候被笛卡尔画了下了,然后就有了几何绘图:
点:
1.Point.distance(p1, p2): 两点间距
2.Point.polar(distance, angle): 向量移动
矩形:
1.rect.offset(x, y): 重定位
2.rect.inflate(x, y): 调整大小,指定增量
3.rect1.union(rect2): 返回并集new Rectangle();
4.rect1.intersects(rect2): 是否有交集
5.rect1.intersection(rect2): 返回交集new Rectangle();
6.rect.containsPoint(p): 判断p点是否在矩形rect内,GIS应该look see see
转换矩阵:将点从一个坐标空间映射到另一个坐标空间,就像异次元
1.缩放:sx, sy比例
2.旋转:angle角度
3.平移:tx, ty像素
4.倾斜:MatrixTransformer
否一个然破(for example):matrix.createBox(sx, sy, angle, tx, ty); //创建矩阵
sprite.transform.matrix = matrix; //将可视化对象转换属性中的矩阵转换为新矩阵
自带效果:blur, dissolve, fade, glow, iris, move, resize, rotation, zoom, Xwipe...
自定义效果:<AnimateProperty id="eff"
startDelay="" duration=""
target="" property=""
fromValue="" toValue="">
依次播放组合效果:<Sequence targets="[]">
我们需要自由,因为数据不想被代码绑架,除了用户。拖拽的奥义:
(数据容器内置支持拖拽,那就不解释了)
1.鼠标按下mousedown触发dragItHandler,将拖拽元件定义为IUIComponent接口。
创建DragSource对象addData,调用DragManager.doDrag()。
2.如果容器接受拖来的数据,触发dragDrop事件
3.dragDropHandler放下元件
设计师就是要否定别人的设计,才能自己设计,动态渲染实现过程:
1.为itemRenderer属性更换新的渲染器 new ClassFactory(YourRenderer)
2.修改itemRenderer属性内容
我们编写代码,代码操纵数据,数据抽象我们,我们把我们以图表的形式展示出来。http://www.easyicon.cn/search.php?q=chart&min=0&max=600
相对于flex自带的图表,我更爱open flash chart,当然R也很给力。
<SolidColor>: 定义实体样式
<Stroke>: 线条样式
<series>: 数据系列,包含上面两个
<verticalAxis>: 纵坐标显示方式
<horizontalAxis>: 横坐标显示方式
<Legend>: 为图表添加图例
ChartBase
showDataTips: 是否显示数据
selectionMode: none, single, multiple
selectedChartItem, selectedChartItems: 选中的图表项
ChartItemEvent--HitData.chartItem: 触发图表事件项
...nameField,field,fills,explodeRadius,perWedgeExplodeRadius,reserveExplodeRadius
常量声明:const SUPERMAN:String = "hehe";