Flex学习笔记

12:23
对初学者来说,XML/XMXL可以这样理解:标签、属性与标签、属性的环环套环环

XMXL中,是可以设置组件的长宽百分比的。而在AS中,只能设置为像素值,若要在AS中设置百分比,需要用到percentWidth和percentHeight两个属性

13:00
若一开始即要执行的是一段AS,记得在头applicationComplete进去,例如:applicationComplete="initApp()"
当然。不仅仅是AS,一切要将程序最先运行的代码都要放在这个监听函数中

“一切皆是对象”你可以这样理解:首先脑袋中构思一副图,然后将一块块小的拼图块分工画好,之后用addChild之类的方法将他们丢到舞台上去,并拼接在一起,成为你脑袋中构思的那幅图。这里有个例子可以帮你理解这段话
intelnal function initApp():void{
    //创建一个新的Panel的实例,这里,虽然创建了Panel这个对象,单仅仅是被创建了,并不会马上显示出来,直到调用了addChild,才将这个对象添加到容器中,从而对象被绘制,出现在显示层
    var win:Panel = new Panel();
    //设置组件的位置
    win.x = 20;
    win.y = 20;
    //将该实例添加到程序容器中并显示
    addChild(win);
}

13:15
关于import,曾经一直有点让我很是迷惑,也问讯过不少人:到底怎么判断什么情况下import什么包?而几乎所有人给我的答案几乎都是:用什么import什么。当然,这点我一直知道,所以当时很是不明白“怎么判断我要用什么”这个问题,因此关于import的包一直都是*,导致程序臃肿的可以。今天看了44~45页的EXP,瞬间明白了这个让我迷惑已久的import判断,其实之前所有人给我的回答都是正确的,也是不可再细分的回答-用什么就import什么。呃~是的,如果你现在有和我曾经一样的疑问,我现在也只能这样回答你-用什么就import什么……当然。若要综合理解,我想35页的容器层级关系表给我了很大的帮助。可是在这个功能限制诸多的Blog上就不怎么方便画出,并上传那个表了…见谅
自此,“一切皆对象”这句话的意思,更加深刻的明白了一层。如果要用一个词来概括这一层,那么就是:附加/帖附。一个变量/常量与一个类/函数/包的附加/帖附

16:50
在看《Flex第一步》的时候,对于一个AS3的BUTTON的问题有些不明白,回头翻看《AS3殿堂之路》的目录时,一些以前所不容易理解的东西竟然都在《AS3殿堂之路》的后半部分,实在让人激动。现在想想,这两本书实在是天作之合的极品天书配对。买的太值了
另,关于ActionScript3 Cookbook,昨天在出版社网站上付款邮购了,今天确认状态,竟然告诉我这书还没印出!网页上面是预售!问什么时候能出来,答案竟是……不明……我喷血哦~~早知道在淘宝上多花十几块钱买了算了!不过……问题在这里,出版社自己的库房都没有印出来的书,那些淘宝商家怎么会拿到了?而且还是正版?

16:57
暂时放下《AS3殿堂之路》,待看完《FLEX第一步》后续章节继续
(PS:感叹,冲动之下买的即时贴这段时间使用率大增,难道真的一切冥冥中自有天意?)

18:32
自定义组件中,creationComplete为程序初始化后的触发事件。通常我们将程序运行前的准备工作卸载此事件的监听中(类似于Application的applicationComplete,使用方法也一样)

18:52
今天到此为止,先消化一下
备注:P35为FLEX容器层级关系表

20:21
自定义组件就包含在自身的标签中,不要重定义

《Flex第一步》错误汇总

 

比较严重错误(一般知识性错误)

第41页
4.1.3节的最后一段,介绍DividedBox的属性liveDragging时,原文:“当为true时,表示在拖动分割块时,分割块附近的元素只在鼠标松开时才调整位置;如果为false,则在拖动时就会不断的调整位置。” 写反了,应该是:“当为false时,表示在拖动分割块时,分割块附近的元素只在鼠标松开时才调整位置;如果为true,则在拖动时就会不断的调整位置。

第91页
代码错误,原文:
  
  private var mXML:XMLList =
   <menu>
   <item label="文件">
   <node label="新建画板" data="new"/>
   <node label="清除画板" data="clear" enabled="false"/>
   <node type="separator" />
   <node label="退出系统" data="logout"/>
   </item>
   <item label="帮助">
   <node label="帮助" data="help"/>
   <node label="关于作者" data="about"/>
   </item>
   </menu>;
  
  这里的根节点应该留空,正确的代码:

        private var mXML:XMLList =
   <>
   <item label="文件">
   <node label="新建画板" data="new"/>
   <node label="清除画板" data="clear" enabled="false"/>
   <node type="separator" />
   <node label="退出系统" data="logout"/>
   </item>
   <item label="帮助">
   <node label="帮助" data="help"/>
   <node label="关于作者" data="about"/>
   </item>
   </>;


一般错误(笔误)

第63页
<mx:buttonbar id="Btns" … > 应该为 <mx:buttonbar id="btns" …>

第191页
第一段第一行 建立了如图8.2所示的视图结构” 应该为 如图8.3所示

第317页
本页的倒数第八行代码里有一个标签为"</mx:c>"  应该为 "<mx:WebService>"

第320页
中间一段: “另外,为了提供PHP的运行效率…” 应该为 “另外,为了提高PHP的运行效率…”