flex 学习笔记(摘自《Flex3 程序设计》)

最近被老板安排了个任务, 无奈只好学习一下 Flex, 苦逼的程序员啊, 前段时间为了做个爬虫, 才学了一趟 python, 现在又要学 flex, 好在感觉现在学一门新语言上手越来越快, 基本上看一晚上语法, 第二天写几个程序, 再回来把语法过一遍, 就差不多了. 不多说, 把一些记下来的要点整理一下.

  1. Flex 程序主要由 MXML 代码与 ActionScript 代码组成, 有点类似 html+javascript, 但是在生成 swf 文件时, 会将所有的 MXML 代码转换成等价的 AS 代码

  2. MXML 与 AS 代码混搭时, 需将 AS 代码写在 CDATA 标签内

  3. AS 使用 trace 向 consol 输出指定文本, 但只在 debug 模式下进行输出, run 时不进行输出

  4. AS 是大小写敏感的, 其编码风格类似 delphi, 即 变量类型在后, 声明函数时, 返回值类型也在最后. 不过 delphi 是大小写不敏感, 且由 begin end 做为代码段, 而 AS 使用的是 {}区分代码段

  5. Flex 中容器内容的变化, 主要是由 STATE 的转变完成的, 而不像普通 html 程序一样, 由链接的跳转, 或 ajax 的局部加载来完成

  6. 可以使用 <mx:transitinos> 来创建一批状态的过渡, 从而达到动画的效果

  7. 定义函数时, 如果使用 private 前缀, 则说明此函数只在本文件内可以调用; 若声明为 public, 则在整个 project 里都可以调用

  8. Flex 中某个事件发生时, 在其事件的响应函数中会接收到一个 Event 类型的参数, 由 event.target 可获得指向事件的发送方的指针
    例:

    <mx:Button label="text", id="myButton", click="fillLabel(evnt)"/>
    private function fillLabel(evt: Event):void
    {
        myLable.text = evt.target.id + " is pressed";
    }


  9. 类似 js, 在 AS 中也可以用 addEventListener 来动态为某个控件添加事件响应函数

  10. 只有在充当主文件的 MXML 文件中才可以用 Application 容器, 其他没有 Application 容器的 MXML 文件被称为 component, 以此可以对项目进行模块化调计.在 MXML 中, 每个模块相当于一个命名空间

  11. Flex 使用自定义消息来在组件间传递数据

    • 在 <mx:Metadata> 标签中声明事件

      <mx:Metadata>
          [Event(name="nameDataShared"; type="flash.events.TextEvent")]
      </mx:Metadata>

    • 创建事件

      var myEvent:Event = new Event("nameDataShared");

    • 派发事件

      dispatchEvent(myEvent);

    • 使用时类似 click 事件的使用即可, 在一个控件的标签里写上

      nameDataShared="functionXXX"
      其中 functionXXX 为一个具体定义的函数, 即为事件响应函数

    • 响应: 当有一个地方调用了 dispatchEvent 来派发事件时, 所以注册过 dispatchEvent 事件的控件都会接收到此事件,并调用其指定的响应函数, 如 functionXXX


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值