一。mxml编译器(mxmlc)
mxml编译器的作用是将mxml编译成as代码与as代码结合,共同合并成可以在flash player下运行的swf文件。当flex builder运行或调试flex程序时,mxml编译器被调用,分别将文件或调试状态的文件作为参数传递给mxml编译器。
在flex builder里也可设置mxml的其它参数来控制mxml的编译方式。如:-locale=es_ES -source-path+=/Users/base/Project等,在不同的参数中间用空格格开。
二。mxml与as的认识
mxml与as的关系,类似与jsp与脚本代码的关系,mxml页面里的对象更像是aspx页面,每创建一个组件都是一个对象。如:<mx:Button id="btn" label="My Button" height="100"/>与
var btn:Button = new Button();
btn.label = "MyButton";
btn.height = 100;
表达的是一个意思,只是第一种会添加到其父组件。
三。给mxml添加事件兼听器
1) <mx:Button click="buttonClick()" label="Click Me"/>
2) var btn:Button = new Button();
btn.label = "MyButton";
btn.height = 100;
btn.addEventListener(Event.*,buttonClick);
四。数组与对象
与java里的相似,比java里的更加灵活
1) var arr:Array = new Array();
2) <mx:Array id="arr"></mx:Array>
对象是可以嵌套的,每个object对象,都可以当成java里的Map来用(flex里没有Map<key,value>对象)
五。变量的作用域
有public、private、protected。作用域的含义与java里的一样。
六。自定义组件
创建as类,继承flex库里的组件
七。事件冒泡机制
子组件定义了事件,在父组件里照常调用,并可以在父组件里处理。
八。绑定组件属性
将变量前加上[Bindable],将组件的某属性绑定此变量,当变量改变时会触发事件,组件的被绑定的发展也会相应改变。
九。自定义事件处理
与自定义组件相同,只需要将新创建的as类,继承flash.events.Event.
十。监听键盘事件
在组件上添加addedToStage="stage.addEventListener(KeyboardEvent.KEY_DOWN, keyHandler)";不管有没有被激活始终监听键盘事件,而keyDown="keyHandler(event)"只是在组件被激活时才监听。
十一。定义方法参数
可给方法的参数赋默认值,如:public function a(str:String = null){}
十二。检测对象类型
有is和typeof两种检测方式, UIComponent is Object/typeof(UIComponent)
十三。接口与类的定义
与java接口与类的规则一样。