- 浏览: 42107 次
- 性别:
- 来自: 上海
最新评论
[1b]AS1/2-AS3观念的转变(Meet with new philosophy)[/1b]
对于AS1、AS2的开发模式来说,灵活是最大的优势。然而,灵活却造成了不稳定、紊乱。这是开发复杂的、长久的项目所忌讳的。关于(AS1/2/1+2)灵活轻便与稳定持久(AS3)的权衡,我个人觉得可以理解为”鱼和熊掌不可兼得”,但我希望已经习惯了AS1、AS2的朋友们不要把这个结论想得太悲观。
AS3是纯粹面向对象的,相比过去的AS2,我认为是更加敏捷的。纵然有着更多的约束,但在package内直接建立多个辅助类(Helper Class),不失为一个非常好的消息。就凭这一点,我觉得至少与笨拙的AS2相比,AS3的开发效率就不会打多大折扣。我们需要的其实只是语法、习惯,尤其是观念的转变而已。当然,这需要时间。我作为一个AS1/2的长期发开人员,在转变到AS3的过程之中,也遇到了很多问题和疑惑。但我很乐于与大家分享、交流我所获得的收获以及观念转变的心路历程。
ActionScript编程自它问世的那一天就是多姿多彩的。技术,尤其是
[url=http://www.awflasher.com/blog/tag/adobe]
Adobe产品线
[/url]
的技术体系,也绝然不是呆板的”学究式体系”。我希望我的”罗嗦”能让您获得一个更轻松的心态。
言归正传,先说说我在AS1/2(1+2)转变到AS3时所遭遇的最大困惑吧:
[1b]开局[/1b](How, and especially where, to get start) - 玩过星际争霸的朋友们一定知道,针对不同的地图,如Lost Temple和WCG-groky park(原来WCG有一个岛关,我忘记了),都有各自的经典、流行的开局方式。从AS1/2转变到AS3,无非是从Lost Temple转变到WCG-groky park的过程,你也许要先采气矿,造空军,才能顺利发展。
其实Flash从AS1到AS3,也有各自固定的、流行的开局方式。
对于习惯了用AS1编程的人来说,制作一个Flash的开局是非常灵活的:你一进入Flash就有一个长长时间轴以供使用。你往往需要一个loading,你可以用1-5帧先做一个loading(还记得N年前流行的FlashMTV制作教程么?);你也可以取一帧,放一个loading的MovieClip然后在这个MovieClip上写一个onEnterFrame来监听swf文件加载的进度(我热衷的做法)。接下来,你可以在第二帧或者第N帧部署程序界面。MovieClip强大的帧API能让你灵活地完成许多有趣的逻辑(gotoAndPlay、gotoAndStop、prevFrame等)。编程的时候也可以很随意地寻找自己要控制的资源,我现在还记得刚接触AS的时候,一个_root一个_global,曾经让我屡试不爽。每次遇到问题了就用这两个东西解决。
AS2的开局其实没有本质的变化,至少我是这么认为的。唯一的进步就是比AS1的OOP,模块封装的更加彻底。甚至还有些许退步,比如清一色基于MovieClip+attachMovie的模式,仍然容易造成运行时(Run-Time)效率低下,而且开发起来概念也模糊了。因为Library中设置了linkage,new的明明是自己的Class,attach的还是MovieClip。
于是很多人采用AS1+2的方式,这也是我所喜欢的。现在想起来,还是比较灵活快速的。
然而在AS3中,你却仿佛陷入一片黑暗。FlexBuilder没有时间轴。即便用”似曾相识”的FlashCS3的IDE开发,AS3也不支持MovieClip和Button上的代码。写在帧上也无法简单地使用”onRelease=functioin”了。上网搜一搜教程,往往得到如下的写法:
aw.addEventListener(”click”,fun);
function fun(e:Event){trace(1);}
实在让习惯了AS1、2的朋友们郁闷。
一方面看到人家用AS3设计出来的精彩demo羡慕不已,一方面又对程序入口摸不着边际。这种尴尬我想不是看一两篇教程就能解决的。
[1b]我们需要”洗心革面”,我们需要”忘记过去”(try to forget the past)。大胆地告诉自己,onRelease=function不仅已经被”杀死”,而且根本就不是好的写法,哪怕你仍然觉得它看起来那么顺眼。大胆地告诉自己,AS3中,所有的变量、函数都属于类(对象的属性和方法),而不再属于时间轴、帧,哪怕上面列举的两行代码也可以写在时间轴上生效。[/1b]
我个人建议,传统AS1/2的程序员从Flash CS3 IDE入手AS3,比较合适。因为Flash CS3的入口(开局)非常明确:Document Class(文档类)。
运行FlashCS3,打开fla文件,在IDE下面属性面板中,找到”Document Class”,填入一个名字(由于是类名,最好是首字母大写,比如MyMainClass)。然后在fla文件所在的文件夹下面建立同名的as文件。当然,也可以把fla和类文件全部分离,这就需要设定类路径(File-Publish Settings-ActionScript version:Settings)。下面可以输入类路径。我个人建议输入相对路径。相对,意即相对当前的fla文件;路径,即我们电脑文件系统中的文件夹。不写死”x:\xxx”是为了让项目可以在不同的环境上运行,也可以更好的支持多人开发。相对路径的写法就是用”.”表示当前路径,用”..”表示上一级路径。比如可以写:
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1851.html
发表评论
-
使用 Flash Remoting in Flash Forms 制作 Live Search
2010-04-10 10:01 610即时搜索效果察看 Live Search 的程式分成两部份 ... -
Remoting中接受query类型数据方法
2010-04-10 10:00 532var listInfo = new Array() fun ... -
Remoting中接受query类型数据方法
2010-04-10 10:00 525var listInfo = new Array() fun ... -
Flash remoting参数传递与调用补充
2010-04-10 10:00 577续flash remoting中参数传递与调用,补充其他数据类 ... -
Flash remoting参数传递与调用补充
2010-04-10 10:00 665续flash remoting中参数传递与调用,补充其他数据类 ... -
Flex2/AS3在Linux下的开发环境
2010-04-09 12:58 510这次修正了万恶的“Incorrect flash playe ... -
flash AS3的面向对象特点概述
2010-04-09 12:58 866本文是我(aw)在整理了相关文档和讨论之后,结合自己的亲自实 ... -
flash AS3的面向对象特点概述
2010-04-09 12:58 754本文是我(aw)在整理了相关文档和讨论之后,结合自己的亲自实 ... -
从AS1和AS2到AS3的观念转变
2010-04-09 12:57 671[1b]AS1/2-AS3观念的转变(Meet with n ... -
as3打造一个非常酷的莲花曲线效果
2010-04-09 10:04 713详细代码: var radius:int=100; va ... -
AS3.0 单一职责原则设计模式
2010-04-09 10:04 715呵呵,好久没写了。因为前段时间心情不是很好,并且各种事情比较多 ... -
AS3.0 单一职责原则设计模式
2010-04-09 10:04 711呵呵,好久没写了。因为前段时间心情不是很好,并且各种事情比较多 ... -
ActionScript 3 开发的需注意的方面
2010-04-09 10:03 566这些东东都不是很难,只是方法不常用或没注意到,以后还会陆续添加 ... -
ActionScript 3 开发的需注意的方面
2010-04-09 10:03 533这些东东都不是很难,只是方法不常用或没注意到,以后还会陆续添加 ... -
《银河动画》鼠绘教程 (1)
2010-04-08 10:22 691本教程是给对flash有基础了解的人看的(最起码你得知道fla ... -
《银河动画》鼠绘教程 (1)
2010-04-08 10:22 573本教程是给对flash有基础了解的人看的(最起码你得知道fla ... -
《银河动画》鼠绘教程 (2)
2010-04-08 10:21 562先画草图!! [url=http://space.flash8 ... -
《银河动画》鼠绘教程 (2)
2010-04-08 10:21 536先画草图!! [url=http://space.flash8 ... -
《银河动画》鼠绘教程 (3)
2010-04-08 10:21 592一般的简单动画都会吧?别告诉我你连物体移动都不会!! ... -
漫画绘制技法大放送(上)
2010-04-08 08:33 504网络收集整理(jundark) [1b]一、人体基本结构[/1 ...
相关推荐
在医院信息化管理模式的转变过程中,存在一些问题和原因,如信息系统建设的要求不断提高,医院管理者观念的不断发展,医院信息化管理模式的不断变化等。为此,医院信息化管理模式的转变对当前环境下如何更好的开展...
为了克服这些难题,中小企业需要逐步转变观念,认识到财务管理信息化的重要性,同时政府和云服务商应加强对中小企业用户的引导和支持,提供更丰富、更安全的云计算服务产品,并完善相关法规,确保数据安全,增强企业...
DevOps的核心理念是促进跨职能团队之间的紧密合作,确保从开发到运维的整个生命周期中的流畅性和可靠性。 在传统的组织结构中,开发和运维常常被视为两个独立的部门,导致了"开发吃掉运维"或"相爱相杀"的现象。...
3. **研发观念的转变**:从以产品为中心转变为以客户为中心,软件开发商需要更加关注用户需求,提供更贴合实际的服务。 4. **营销观念的转变**:传统的销售渠道向电子商务转型,直销模式降低了服务成本,提高了用户...
这一模式的兴起,正在逐步改变人们对于拥有和使用汽车的传统观念,从“拥有车辆”转变为“使用车辆”。 随着自动化技术的发展,汽车逐渐迈向无人驾驶的五个阶段,从驾驶员辅助系统到完全自动驾驶。这种趋势将极大地...
6. "An increasing number of people are beginning to realize that…" 强调观念的转变或新认识的形成,可用于揭示一种趋势或意识觉醒。 7. "With the development of science and technology, people in growing ...
行业规模随着人们生活水平的提高和消费观念的转变,不锈钢餐具的需求量逐年增加,行业增长趋势明显。 2. Competitive Landscape 中国不锈钢餐具的主要生产地区包括广东省、浙江省、江苏省等地。如广东伟业厨具有限...
总的来说,构建新型网络安全防御框架的关键在于转变防御观念,从攻防对抗的角度出发,强化主动防御和反制能力,通过全面的态势感知和深度分析,将传统的防御策略升级为更为动态、主动的攻防策略,以应对不断演进的...
当前高校信息化建设的观念由“管理为主”转变为“服务为主”,这意味着高校计算机实验室的建设需要更加注重服务的功能,而不是单纯的信息管理。传统的计算机实验室建设模式存在着服务器利用率低、管理和维护不便、...
在文段中提到的完形填空例子,涉及到动词的选择,如 "a man __1__ his son to fly a kite",此处需要根据情境选择最恰当的动词,如 "instructs" 表示教导,符合情境。此外,解题时还需注意语境线索,如 "drops the ...
2. **变革诊断**:在实施变革时,应分析现状(As Is)和预期结果,识别助力和阻力,选择增强助力或减少阻力的策略。同时,要考虑变革带来的额外工作、时间消耗、混乱和不确定性,以及心理压力和不安全感。 3. **...
1. 自我介绍和背景描述是初次见面时的重要环节。例如,"Please introduce yourself. Tell me something about yourself and your background." 这句话鼓励医护人员介绍自己的个人信息和专业背景,展示他们的沟通能力...
其次,认识到口语与阅读、写作同等重要是英语学习观念的转变。学生需要明白"spoken English is as important as reading and writing"。这不仅拓宽了他们的学习视野,也使他们在语言学习上更全面。例如,通过...
10. **转变 (switch)** - 在媒体使用上,"switch" 提醒我们关注重要新闻,例如气候变化、环保政策等,这些都是我们需要了解和参与的话题。 **单句语法填空** 1. **by** - 这里的"by"表示动作的执行者,即由...
教育信息技术不仅改变了传统的教学模式,还促进了教育观念的更新与教师工作方式的转变。本文旨在探讨影响信息技术采纳的关键因素,并构建了一个基于任务技术匹配模型(TTF)与科技采纳模型(TAM)的整合模型,以更好...
**观念转变难** 长期以来,农批市场的从业者普遍缺乏现代信息技术的应用经验,对于新技术持谨慎态度。即使是一些已经意识到互联网重要性的商家,在实际操作中也可能因为不熟悉操作流程等原因而难以真正实现转型。 ...
综上所述,从PowerBuilder到.NET的迁移不仅仅是技术上的转变,更是思维方式的革新。通过深入了解.NET框架的工作原理,结合PowerBuilder的强大功能,开发者能够构建出更加高效、安全且用户友好的应用程序,为用户提供...
这得益于知识产权保护的加强和用户观念的转变,使得软件企业有了更好的发展环境。在此背景下,SOA(Service-Oriented Architecture,面向服务的架构)和SaaS(Software as a Service,软件即服务)成为推动软件产业...
- **Keep an open mind and continue to assess everything you read and hear from a business point of view**:保持开放的心态,并继续从商业角度评估你所阅读和听到的一切。 - 解析:这句话强调了创业者应该...
随着通信技术的飞速发展,如互联网和移动通信,从伦敦到香港的距离变得微不足道,这股力量将在21世纪的前50年对社会产生深远影响。这不仅改变了商业模式,也意味着全球人才的流动和协作变得更加容易,"The nerds ...