动力男孩flash乐园

不抛弃、不放弃,梦想要迂回去实现~!
  • 首页
  • 我的座右铭
  • 我的作品
  • 留言聊天室
  • 动力男孩的诞生

存档

文章标签 ‘flex’
563次浏览↓

隐藏Flex滚动条的箭头和滑竿

2009年12月28日 powerboy 没有评论
1
2
3
4
5
.myCustomScrollBarStyleName {
	downArrowSkin:		ClassReference(null);
	upArrowSkin:		ClassReference(null);
	thumbSkin:		ClassReference(null);
}
分类: flex学习笔记 标签: flex
933次浏览↓

[转]什么是 PureMVC 框架(提供下载)

2009年9月25日 powerboy 没有评论

  PureMVC是在基础的经典模型、视图和控制器上建立的一个轻量级的应用框架,这种开源框架是免费的,它最初是执行的ActionScript 3语言使用的Adobe Flex、Flash和AIR,现在已经移植到几乎所有主要的发展平台,目前支持两个版本框架:标准和多核,总之,标准版提供了一种简单的编码分离的方法,按照MVC设计概念。除此之外,多版本允许多个PureMVC应用运行在同一个虚拟机;模块化编程

AS3版 PureMVC 下载地址:
http://puremvc.org/pages/downloads/AS3/PureMVC_AS3.zip
PureMVC框架概述与UML视图
docx文档下载地址:http://as3libs.googlecode.com/files/PureMVC.rar

框架概述
本文讨论PureMVC框架的类和接口,通过简单的UML(统一建模语言)图表阐述他们的作用、职责和合作。
PureMVC有一个非常狭隘的主要目标:用于帮助程序员分离代码为三个离散的层:即模型,视图和控制器。
在该经典的MVC元模式实现框架中,应用层有三个单例(一个只创建一次的类)所表示。而第四个单例,Façade类通过一个单一的接口为应用程序之间提供通讯,从而简化了开发。
模型(Model)简单的指向Proxy的引用。Proxy代码负责操作数据模型,与远程服务通信存取数据。
视图指向Mediator的引用。Mediator管理视图组件,增加事件监听器,操作视图组件的状态。
控制器包括命令类及其映射。命令类是无状态的,只有需要时才被创建。
Façade单例初始化Model, View, Controller,并且能访问各层类的Public方法。

Façade与核心类

Façade类令roxies, Mediators和Commands之间以松耦合的方式允许互相通信,而不需要导入或知道框架核心的存在。当我们创建一个Façade类具体的应用时,就可以“即开即用”的使用它了。附带的,与Façade类的交互将会最大化的降低开发者对API知识的了解程度。
核心成员类Model, View和Controller分别实现了IModel, IView 以及 IController 接口,Façade类实现了由核心接口组成的IFacade接口。

View, Mediators和View组件

View类被实现为一个用来缓存指向一个IMediator实例引用的单例。
Mediators类帮助我们创建或者重用已经存在的用户接口组件,而不用让他们通讯的PureMVC程序的知识去影响他们。具体的Mediators实例必须实现IMediator接口,通常是作为Mediator类的子类来实现的。
View视图用来显示数据和处理用户交互。在一个基于flash的应用程序中,他们通常通过使用事件和传递一些属性给其Mediators类去检查或者控制,以便与View的Mediators类交互。一个Mediator类通过View组件的数据与之建立联系。当一个Mediator 类的实例被view注册时,他会被假设为他需要获取通知。因此必须返回一个包含所有他感兴趣数据的通知名数组。
因为Mediator类必须实现IMediator接口,所以一个Mediator实例拥有handleNotification方法。当该实例被View组件注册,一个Observer实例就被创建并且被注册给每一个Notification的数组中。这样Mediator的handleNotification方法就被触发,而不论注册Notification的Mediator是否感兴趣。
Mediator类由于实现了INotifier接口而具备了sendNotification方法,sendNotification方法的参数是一个新的Notification通知,而后使用一个IFacade接口的单例去广播。

Mediator类的protected属性被初始化用于注册IFacade实例,并且因此Mediator必须在主程序初始化Façade实例后被注册。

Model, Proxies与数据对象

Model类被实现为一个简单的指向IProxy引用的单例。
Proxy类帮助我们暴露数据模型和实体类(当域逻辑和服务支持时)给应用程序,使得程序可以被其它地方被复用或重构。
我们可能通过使用一个Proxy实例来简化指向本地数据对象的管理,在这种情况下交互可能引起一些数据的同步操作。一个Proxy实例也可能被用来进行程序的原创服务操作,加载或者保持数据。这时,我们可能需要出发一个方法或者基于Proxy去设置数据,并且等待该Proxy从服务器成功加载到数据后广播一个Notification通知。
Proxy类由于实现了INotifier接口而具备了sendNotification方法,sendNotification方法的参数是一个新的Notification通知,而后使用一个IFacade接口的单例去广播。
Proxy类的protected属性被初始化用于注册IFacade实例,并且因此Mediator必须在主程序初始化Façade实例后被注册。

Controller与Commands

MacroCommand类从它的构造函数中触发initializeMacroCommand方法。使用者必须在其子类中重写initializeMacroCommand方法,一般addSubCommand方法添加所有Command。可以使用SimpleCommands 或者 MacroCommands中的任何一种。

View, Observer与Notification

Proxies,Mediators与Commands类之间的通讯是通过广播Notifications来实现松耦合和跨平台特性的:
Proxies可以发送,但不能接收Notification
Mediator声明感兴趣的Notification和接收Notification
Commands被触发或广播Notifications
PureMVC应用程序可能运行在不能访问Flash Event和EventDispatcher类的环境中,所以框架使用观察者模式以一种松耦合的方式在Model, View, Controller之间通信。
PureMVC使用观察者模式就是为了该目的。IObserver携带一个希望被关注(即“被关注的内容”)的对象引用,该对象的一个方法将会在INotification实例被广播(即“被关注方法”)时被触发。
View组件的职责是管理Notification的名称给Observer列表,以及当有Notification被发送时通知所有的Observers。

转自:http://www.b4en.com/home/space.php?uid=117&do=blog&id=93

分类: 我收集的文章 标签: as3, flash, flex
437次浏览↓

天气预报

2009年5月29日 powerboy 没有评论

弄了一个天气预报的小程序,由于安全沙箱的原因,请下载到本地打开使用。
weather.swf

分类: 我的AS3实验室 标签: as3, flex, 实验室
476次浏览↓

一个关于弹出效果的问题

2009年5月5日 powerboy 没有评论

今天研究flex遇到一个问题,我想通过PopUpManager在弹出面板的时候能够添加一些淡入淡出的特效,上网狂搜一通之后,发现其实很简单,但是我折腾了一上午,却怎么都看不到效果,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var mShowEffect:Blur=new Blur();
mShowEffect.blurXFrom=255;
mShowEffect.blurYFrom=255;
mShowEffect.blurXTo=0;
mShowEffect.blurYTo=0;
mShowEffect.duration=300;
 
var window:TitleWindow = new TitleWindow();
 
PopUpManager.addPopUp(window,this,true);
PopUpManager.centerPopUp(window);
 
mShowEffect.stop();
mShowEffect.play([window]);

最后无意中发现,原来跟我设置的css延迟发生了冲突。

1
2
3
Application{
	modalTransparencyDuration:		500;
}

现在来看这个问题已经很容易了,因为透明度效果持续时间大于模糊效果的延迟时间,当然看不到效果了。不过现在我终于明白了一点,这两个延迟时间是同步进行的,而不是先执行Application设置的延迟,再执行效果的延迟时间。

分类: flex学习笔记 标签: as3, flex
RSS 订阅
  • Google
  • 有道
  • 鲜果
  • 抓虾
  • My Yahoo!
  • newsgator
  • Bloglines
  • 哪吒

分类列表

  • actionscript3.0学习笔记 (16)
  • air学习笔记 (6)
  • alternativa3D (3)
  • AS2疑难杂症 (1)
  • Box2D (3)
  • flash教程 (5)
  • flex学习笔记 (3)
  • 心情驿站 (24)
  • 我收集的flash 8.0资料 (3)
  • 我收集的flash 9.0资料 (3)
  • 我收集的文章 (21)
  • 我的AS2实验室 (4)
  • 我的AS3实验室 (9)
  • 我的新闻 (17)
  • 我的相册 (6)
  • 我翻译的英文资料 (7)
  • 日语学习 (2)
  • 英语学习 (2)

最近发表

  • 浅谈工具的意义
  • “小小便利店”终于上线啦
  • 禁止按tab时焦点从flash切换到地址栏
  • 隐藏Flex滚动条的箭头和滑竿
  • 为asdoc设定example
  • 一个测试睡眠的例子
  • Box2D——入门教程
  • Box2D——shoot Demo
  • 一个由单例模式引发的问题
  • 给图像加水印

最近评论

  • 空谷的回响 发表于 一个测试睡眠的例子
    我的QQ:373131285,希... »
  • manyu 发表于 一个测试睡眠的例子
    请给我发一份吧~我也在学习~谢谢... »
  • Brooks 发表于 mp3播放器 beta2.0(开源)
    好像不能下啊,楼主给我发一份吧,... »
  • velika 发表于 Box2D——shoot Demo
    刚开始学Box2d。发一份源码来... »
  • velika 发表于 一个测试睡眠的例子
    我也想要一份源码,谢谢15337... »
  • velika 发表于 一个测试睡眠的例子
    正在学BOX2D,楼主帮了我大忙... »
  • sky 发表于 一个测试睡眠的例子
    房主,你太强了,非常值得我学习,... »
  • GGGG 发表于 Box2D——shoot Demo
    zswrhua@163.com ... »
  • kirahua 发表于 Box2D——shoot Demo
    我也正在学习用BOX2D 做游戏... »
  • sans 发表于 Box2D——shoot Demo
    楼主很厉害哦,正在学box2d呢... »
  • 下一页 »

存档

  • 2010年五月 (2)
  • 2010年二月 (1)
  • 2009年十二月 (2)
  • 2009年十一月 (4)
  • 2009年十月 (1)
  • 2009年九月 (2)
  • 2009年八月 (2)
  • 2009年七月 (4)
  • 2009年五月 (3)
  • 2009年三月 (3)
  • 2009年二月 (2)
  • 2009年一月 (8)
  • 2008年十二月 (10)
  • 2008年十一月 (7)
  • 2008年十月 (4)
  • 2008年九月 (7)
  • 2008年八月 (8)
  • 2008年七月 (4)
  • 2008年六月 (5)
  • 2008年五月 (11)
  • 2008年四月 (14)
  • 2008年三月 (8)
  • 2008年二月 (12)

友情链接

  • alan新浪博客
  • sunbright
  • 云风Blog
  • 嘎嘎在东京
  • 张毅君/工长君
  • 永明则名
  • 海峡IT网
  • 闪界
  • 雷晟的新浪博客
  • 鼠标炸弹
置顶 WordPress
版权所有 © 2008-2010 动力男孩flash乐园 京ICP备09048608号
主题由 NeoEase 提供, 通过 XHTML 1.1 和 CSS 3 验证.Powered by WordPress