前段时间有空看了《actionscript 3设计模式》,joey lott, danny patterson著,徐明亮、谷小娜译,清华大学出版社出版的,应该说翻译的不错。该书大概介绍了一些常用设计模式的actionscript的实现。但是,个人感觉该书的起点稍微有点高,对于不了解设计模式的人来说比较难以理解(没有透彻的讲解设计模式),而对于熟悉设计模式的人只要注意actoncript的单例模式和了解actionscript都用到了哪些常用的设计模式,对于更高层次的理解和使用actionscript都是有帮助的。对于不了解设计模式的人员建议走如下的学习路线图。
1、 简单了解设计模式
关于设计模式的书籍很多,而且基本雷同,网上关于设计模式的讲解也比较多,比如基于java的、基于c++的等等。个人觉得http://www.jdon.com/designpatterns/index.htm讲解的设计模式比较精华,讲解了gof的23种常用设计模式,每个设计模式的篇幅都不是很长,但是描述形象很容易理解。
2、 关注actionscript的单例模式
由于actionscript没有私有构造函数,因此actionscript实现单例模式相对java而言较比较麻烦,有点曲线救国的意思,下述代码为as单例模式的一个实现。
package pattern
{
public class Singleton
{
private static var _instance:Singleton = null;
//
public function Singleton(constructor:SingletonEnforcer)
{
}
public static function getInstance():Singleton{
if(_instance==null)
_instance = new Singleton(new SingletonEnforcer());
return _instance;
}
}
class SingletonEnforcer{
}
}
|
注意点:
1) 静态的单例变量:_instance;
2) 带有参数的构造函数,并且构造函数参数有严格的访问权限(外面不能访问);
3) 调用Singleton. getInstance()即可获取sington的引用;
4) actionscript的单例模式是假的,程序员可以通过new Singleton(null),创建Singleton的一个新实例。
3、 深入体会《actionscript 3设计模式》提到的设计模式,重点是其example
其实《actionscript 3设计模式》就单纯讲设计模式来说,其讲解的并不是很好,但是里面的example却不错,一定层面上暴露了actionscript的设计思想,及其所用到的设计模式。比如,最近再写一个flex的多列下拉选择框控件的时候,会自定义渲染器、编辑器和flex事件,个人认为其中就有工厂模式、职责链模式。
分享到:
相关推荐
本文将深入探讨一个基于Flash ActionScript3(AS3)开发的网页游戏——山寨版的植物大战僵尸,该版本独特之处在于支持双人对战模式,玩家可以分别在两个浏览器窗口中控制植物或僵尸进行战斗。这个游戏不仅展现了AS3...
ActionScript大型网页游戏开发 第11章 合作游戏 并非所有多人游戏都会让玩家们相互竞赛。合作游戏(ciioeratuve gane)就是让玩家们组成团队来达成共同目标。开发合作游戏的挑战性是开发单人游戏或竞技型多人游戏时...
通过具体的实例,读者可以更加直观地感受到如何运用Flex 3 来解决实际问题。 通过上述概述,我们可以看到《Flex 3 基本指南》这本书覆盖了Flex 3 的各个方面,从基础知识到高级主题都做了详尽的讲解。无论是初学者...
在构建3D场景时,调整focalLength可以使观众感受到不同的视觉体验。例如,缩短焦距可以强调近处的物体,使得场景显得更加动态和紧凑;而增加焦距则可以使远处的物体看起来更清晰,有助于创建深远的立体感。Java3D...
这需要时间和经验积累,阅读设计模式的书籍,逐步形成模仿、吸收和灵活运用的能力。良好的设计习惯是程序员的核心竞争力,也是区分新手和专家的重要标志。 总的来说,学习Flex的过程涵盖了技术理解、实践操作、组件...
### Flex 3 RIA开发详解与精深实践之可视化组件行为控制及视图模式解析 在《Flex 3 RIA开发详解与精深实践》这一专业书籍中,第三章着重探讨了Flex技术在富互联网应用(RIA)领域的高级开发技巧。Flex以其卓越的...
这种设计通常被用于增强网页或应用程序的美学感受,吸引用户注意力,并提升整体的用户体验。 首先,我们要理解Flash源码。源码是Flash动画的基础,由ActionScript编写,这是一种基于ECMAScript的脚本语言。通过查看...
3. 支持多设备:兼容不同分辨率的屏幕,以及鼠标和触屏两种操作模式。 总的来说,翻书效果Flash源码不仅是一个技术实现,更是创新设计与用户体验相结合的体现。通过对源码的学习和理解,开发者可以进一步定制化翻书...
而模糊效果则可以使物体边缘变得不清晰,产生一种柔和的视觉感受。在鼠标特效中,模糊可以增加光点的动态感,使其看起来更加真实,仿佛是由于快速移动而产生的短暂视觉残留。 要实现这个特效,我们需要做以下步骤:...
标签“模板”意味着这是一个预设的设计模式,用户可以根据自己的需求进行定制。"Flash"则指明了这个模板是基于Adobe Flash平台构建的,使用的是ActionScript编程语言。ActionScript是Flash中用于控制动画和交互的...
3. **图层混合模式**:通过调整图层的混合模式,可以创造出水波折射、透明度变化的效果,增加流水的真实感。 4. **滤镜和特效**:Flash提供了多种内置滤镜,如模糊、发光、渐变发光等,可以用来增强流水的质感和...
3. **模板库**:可能包含多种预设的水波样式和行为模式,用户可以直接选用或作为基础进行修改。 4. **导出与兼容性**:支持导出为SWF格式,这是Flash最常用的播放格式,可以在各种平台和浏览器上运行。同时,考虑到...
此外,Flash 8.0还改进了动画效果,新增了滤镜和混合模式,使得设计师可以创建出更具有视觉冲击力的作品。 Flash的流行催生了无数的在线游戏、互动广告、教育内容和艺术作品。然而,随着移动设备的崛起和HTML5技术...
设计师通常会使用绘图工具绘制出基本形状,然后通过滤镜、混合模式以及动画关键帧来模拟水墨的流动、扩散和融合效果。 "爱flash特效联盟.mht"可能是一个网页归档文件,它可能包含有关Flash特效社区的信息,如教程、...
在制作代数式课件时,开发者可能利用了ActionScript编程语言,为课件添加了响应用户操作的功能,如点击按钮解方程、拖动滑块改变变量值等,使得学习更具探索性和实践性。 此外,压缩包内的“代数式”可能是指一系列...
这种动态过渡效果利用了Flash的ActionScript编程语言,通过精心编写的脚本实现了图片的动态行为。 此外,由于提供了PHP版本,这款相册程序还可以与服务器端进行交互,实现更高级的功能,如用户登录、权限控制、上传...
感知性能是指用户对应用程序速度的感受,而实际性能则是应用程序在硬件层面的表现。开发者需要注意这两者之间的差异,因为有时即使应用程序的实际性能得到了提升,但用户仍然可能感觉到应用响应缓慢。因此,在进行...
在数字媒体的世界中,Flash曾是网页动画和互动内容的重要载体,而Flashpaly则是一款专为播放Flash SWF文件设计的播放器。这款工具的存在,使得即便在Adobe官方停止支持Flash后,用户仍能欣赏到那些经典的Flash内容。...
它不仅支持多种Flash格式,如SWF,还能够处理ActionScript,使得那些经典的Flash作品得以重现。 其次,ZzFlash V1.8-具备出色的兼容性和稳定性。在许多现代操作系统和浏览器中,内置的Flash支持已被逐步淘汰,但...