Learning Flex in a week – Day1
Flex,Flash,Flash
Player,AIR概述
了
解Flex Builder
Flex
Builder工作空间
了
解Flex预编译组件
了
解MXML
组
件的数据绑定
处
理用户事件
了
解事件对象
使
用ActionScript添加事件侦听器
使
用HttpService获取数据
Learning Flex in a week – Day2
在
DataGrid中显示数据
布
局容器的使用
创
建自定义的MXML组件
实
现Value Object类
创
建自定义事件
创
建自定义事件类
自
定义项目渲染器
探
索 Flex Bulider 的使用小窍门
Learning Flex in a week – Day3
数
据验证
使
用远程对象来传输数据
格
式化数据
从
列表控件中拖放数据
使
用E4X来过滤XML
部
署Flex和AIR应用
Learning Flex in a week – Day4
执
行导航容器
嵌
入图像
嵌
入字体
创
建基于约束的布局
为
MXML组件应用样式
结
合Adobe CS3制作组件皮肤
创
建视图状态
动
画:行为和特效
结
合绘图API绘制图形
编
码实现组件皮肤
......
用Flex4加载Flex3的组件时,发现了这个问题:
当用spark添加一个mx组件时不会有问题,但当这个mx组件中还有其他组件
例如<mx:HBox><mx:Canvas/></mx:HBox>被添加到<s:Group></s:Group>
(注:通过AS代码使用addElement()添加,而不是直接写到mxml中)
stage.frameRate会瞬间达到1000!
之后会自动恢复到默认的帧频(如果不手动设定,会是24)
这时不用担心什么问题,
但如果frameRate达到1000的这段时间中,添加了一个EnterFrame事件,
并且在EnterFrame的响应函数中,调整某个组件的位置,
frameRate就不会恢复回24,而是一直持续1000,直到取消了EnterFrame为止
但即使没有使用EnterFrame函数,这个时间也会持续0.3秒左右,
如果这期间有图像变化,会明显感觉到卡了一下,
因此尽量避免写代码时Flex3,4混用,能用Flex4的组件尽量用Flex4的组件
源码如下:
Application.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" f ......
(一)入门
Flex集成一个Log框架,可以完成很多用trace()做debug时完成不了的功能
输出log时可以实现分等级(共5+1级),用过滤器指定输出的类,以及输出方式(默认为trace)
需要用到的类
该类位于mx.logging包中,
共需要三个类和一个接口
mx.logging.Log – 主类,有几个静态方法,添加/移除TraceTarget和获取ILogger
mx.logging.LogEventLevel – 定义了log等级的常量
mx.logging.targets.TraceTarget – logger器,定义log输出等级,过滤器和输出方式
mx.logging.ILogger – 由Log.getLogger(‘ClassName’)获取到的Logger发送器
使用步骤
1.. 新建TraceTarget
var traceTarget:TraceTarget = new TraceTarget();
traceTarget.filters = ['spark.components.*','myPackage.MyClass']; //创建过滤器,可以直接用class名,也可以使用*类过滤整个包
traceTarget.filters = [*]; //这样写过滤器,就是输出全部类了
traceTarget.includeDate = true; //输出信息是否包含日期
traceTarget.includeTime = true; //输出信息是否包含时间
traceTarget.includeLevel = true; //输出信息是否包含等级
traceTarget.includeCatego ......
传统的在Flex工程中添加Module的方法是:在FlashBuilder中右键工程目录->Porperties->Flex Modules, 然后就可以add/edit/remove需要的module了,
但问题 是无论添加多少module都要点击add按钮一个一个添加! 像我们的项目一个demo就用了好几十个module,一个一个添加可要烦死了
网上搜‘批量添加module’没有结果,于是自己琢磨了一下
原来module的配置信息就藏在工程目录下的.actionScriptProperties中(PS:该文件在FB中是隐藏的,需要去文件目录中看)
.actionScriptProperties文件格式是xml的
module的配置信息就在.actionScriptProperties文件中<modules></modules>标签中
例如我的是:
.actionScriptProperties
…
<modules>
<module application=”src/index.mxml” destPath=”com/ihaveu/Module1.swf” optimize=”true” sourcePath=”src/com/ihaveu/Module1.mxml”/>
<module application=”src/index.mxml” destPath=”com/ihaveu/Module2.swf” optimize=”true” sourcePath=”src/com/ihaveu/Module2.mxml” ......
1:http://bbs.9ria.com/viewthread.php?tid=44441
2:http://help.adobe.com/en_US/flex/using/WSA95C9644-B650-4783-B5C0-D2C7F95A23E3.html#WS46970071-A39D-49de-B881-66F639787305
3:http://flex4jiaocheng.com/blog/268
4:http://www.k-zone.cn/zblog/post/flash-builder-gumbo-customer-sparkskin.html
5:http://scalenine.com/blog/category/examples/ (比较酷,不过是beta版的Flex4)
6:http://bbs.airia.cn/FLEX/thread-8427-1-2.aspx ......
http://www.k-zone.cn/zblog/post/flex-compiler-parameter.html
下面的列表提供了mxmlc的一些可选参数:
属性
描述
accessible=true|false
是否具有可理解性
actionscript-file-encoding
设置文件编码
advanced | mxmlc -help advanced
检索mxmlc高级参数
allow-source-path-overlap=true|false
验证source-path中定义的路径是否出现重叠,出现互相包含的现象
as3=true|false
是否使用as3对象模型,默认为ture,如果选false,则es一定要定义为true
benchmark=true|false
是否输出编译时期的详细内容,默认是true
context-root
context-path
设置flex-services.xml中的{context.root},如果没有详细定义,那flex将用空值。
contributor name
creator name
添加到swf文件里,name是作者的名字
date text
debug=true|false
是否可以进行调试
debug-password string
远程调试用,设置密码
default-background-color int
默认背景颜色
default-frame-rate int
设置帧数,默认为24
default-script-limits
定义应用脚本程序的执行限制
max-recursion-depth
最大的递归默认是:1000
max-execution-time
最大的执行时间� ......
总记录数:792; 总页数:132; 每页6 条;
首页 上一页 [1] 2
[3] [4] [5] [6] [7] [8] [9] [10] 下一页 尾页