越来越深入灵活
问题描述:
越了解你在做什么,你就会做得越好。越来越深入灵活
我想深入Flex。我做了一些简单的事件处理,并且你越了解你在做什么,你就会做得越好。
但我有我的大问题:
什么是编译器做什么?! MXML文件会发生什么?
可以说,我们有一个简单的代码(代码blogflexexamples):
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/12/27/changing-the-flex-colorpicker-controls-swatch-panel-background-color/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="top"
backgroundColor="white">
<mx:Style>
.myColorPicker {
swatchPanelStyleName: myCustomSwatchPanelStyleName;
}
.myCustomSwatchPanelStyleName {
backgroundColor: haloBlue;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.events.ColorPickerEvent;
private function backgroundColor_change(evt:ColorPickerEvent):void {
var cssObj:CSSStyleDeclaration = StyleManager.getStyleDeclaration(".myCustomSwatchPanelStyleName");
cssObj.setStyle("backgroundColor", evt.color);
colorPicker.open();
}
]]>
</mx:Script>
<mx:ApplicationControlBar dock="true">
<mx:Form styleName="plain">
<mx:FormItem label="backgroundColor:">
<mx:ColorPicker change="backgroundColor_change(event);" />
</mx:FormItem>
</mx:Form>
</mx:ApplicationControlBar>
<mx:ColorPicker id="colorPicker"
styleName="myColorPicker"
editable="false" />
</mx:Application>
这并生成一个ActionScript文件? ,如果它:我可以看到.as文件(如C++中的预处理器)?
答
是的。 MXML被翻译成一个ActionScript类。您可以通过将-keep-generated-actionscript开关添加到项目属性 - > Flex编译器中的其他编译器参数来查看生成的代码。
答
仅供参考,这里有深Digg的进入Flex编译一些好的地方:
- Diving in the Data Binding Waters(带Presentation Slides) - 显示了如何[绑定]被转换成动作
- Flex SDK Compiler Source Code
- Flex 3 Compiler Design
- Flex Mojos(与Source SVN) - 令人敬畏的代码定制编译器如何处理事物。
- Clement Wong's Blog - 他是前任领先的Flex编译器工程师,指出一些好的资源。
- Customizing Metadata Processing with Flex 4 Custom Compiler Extensions - 对于编译器
答
另一个很好的参考新的资源是最近发布的书麦克·琼斯开发Flex 4组件。它在第4页提到了将MXML编译为Actionscript,并为Flex组件的工作方式提供了坚实的基础。
你从哪里得到这些信息? 任何预订建议? – 2010-01-01 22:58:42
查看Adobe Developer Connection - http://www.adobe.com/devnet/flex/quickstart/coding_with_mxml_and_actionscript/ – mkurek 2010-01-01 23:11:54