- 浏览: 40401 次
- 性别:
- 来自: 上海
最新评论
[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 579即时搜索效果察看 Live Search 的程式分成两部份 ... -
Remoting中接受query类型数据方法
2010-04-10 10:00 504var listInfo = new Array() fun ... -
Remoting中接受query类型数据方法
2010-04-10 10:00 497var listInfo = new Array() fun ... -
Flash remoting参数传递与调用补充
2010-04-10 10:00 551续flash remoting中参数传递与调用,补充其他数据类 ... -
Flash remoting参数传递与调用补充
2010-04-10 10:00 639续flash remoting中参数传递与调用,补充其他数据类 ... -
Flex2/AS3在Linux下的开发环境
2010-04-09 12:58 494这次修正了万恶的“Incorrect flash playe ... -
flash AS3的面向对象特点概述
2010-04-09 12:58 829本文是我(aw)在整理了相关文档和讨论之后,结合自己的亲自实 ... -
flash AS3的面向对象特点概述
2010-04-09 12:58 724本文是我(aw)在整理了相关文档和讨论之后,结合自己的亲自实 ... -
从AS1和AS2到AS3的观念转变
2010-04-09 12:57 642[1b]AS1/2-AS3观念的转变(Meet with n ... -
as3打造一个非常酷的莲花曲线效果
2010-04-09 10:04 692详细代码: var radius:int=100; va ... -
AS3.0 单一职责原则设计模式
2010-04-09 10:04 691呵呵,好久没写了。因为前段时间心情不是很好,并且各种事情比较多 ... -
AS3.0 单一职责原则设计模式
2010-04-09 10:04 675呵呵,好久没写了。因为前段时间心情不是很好,并且各种事情比较多 ... -
ActionScript 3 开发的需注意的方面
2010-04-09 10:03 544这些东东都不是很难,只是方法不常用或没注意到,以后还会陆续添加 ... -
ActionScript 3 开发的需注意的方面
2010-04-09 10:03 514这些东东都不是很难,只是方法不常用或没注意到,以后还会陆续添加 ... -
《银河动画》鼠绘教程 (1)
2010-04-08 10:22 665本教程是给对flash有基础了解的人看的(最起码你得知道fla ... -
《银河动画》鼠绘教程 (1)
2010-04-08 10:22 547本教程是给对flash有基础了解的人看的(最起码你得知道fla ... -
《银河动画》鼠绘教程 (2)
2010-04-08 10:21 531先画草图!! [url=http://space.flash8 ... -
《银河动画》鼠绘教程 (2)
2010-04-08 10:21 519先画草图!! [url=http://space.flash8 ... -
《银河动画》鼠绘教程 (3)
2010-04-08 10:21 563一般的简单动画都会吧?别告诉我你连物体移动都不会!! ... -
漫画绘制技法大放送(上)
2010-04-08 08:33 482网络收集整理(jundark) [1b]一、人体基本结构[/1 ...
相关推荐
从AS2到AS3.pdf从AS2到AS3.pdf从AS2到AS3.pdf从AS2到AS3.pdf
演示了C#和Flash的相互调用,VS2015和FlashCS3下调试成功,分为AS2.0和AS3.0版的调用 操作方法: 1,Winform传值给Flash:在【传输或接收到的值】文本框中填入任意字符,然后点 【将左框中数值送给Flash】按钮 2,...
一个AS教程(1)一个AS教程(1)一个AS教程(1)一个AS教程(1)一个AS教程(1)一个AS教程(1)一个AS教程(1)一个AS教程(1)一个AS教程(1)一个AS教程(1)一个AS教程(1)一个AS教程(1)一个AS教程(1)一个...
AS3代码转换成TS语法工具(as2ts),可以把AS3的代码经过工具,转换出来的是TS语言代码(typescript),支持Layaair和Egret,CocosCreator的TS项目使用。
mqtt libpaho.c 编译出来的x86架构的...v2x@ubuntu:~/Desktop$ sudo cp ./libpaho-mqtt3as.so/libpaho-mqtt3as.so.1 /usr/lib/ v2x@ubuntu:~/Desktop$ sudo cp ./libpaho-mqtt3as.so/libpaho-mqtt3as.so.1.0 /usr/lib/
另外还有AS1和AS3,和AS2相比,数据打包方式是一样的,但是AS1通过SMTP协议传输而AS3是通过FTP协议传 输.由于HTTP(s)协议流行而且比较容易通过防火墙,所以相对来说AS2非常流行而其他两个协议就很少听到.HTTP协议还可以...
AS2协议详解及JAVA版代码
Flash as3调用外部AS脚本 很小的示例
AS3、flash基础知识,非常适合新手学习。
AS3NUI-airkinect-2-examples:AS3 for Kinect 2.0 应用样例。
中文说明 简单易懂, 刚接触cs3的朋友可以试试 文,AS2转AS3教程下载,方便新手查阅
AS1000G3存储日志,仅供学习,可查看到设备内的各个部件状态和参数,供学习用 AS1000G3存储日志,仅供学习,可查看到设备内的各个部件状态和参数,供学习用 AS1000G3存储日志,仅供学习,可查看到设备内的各个部件...
AS2是企业之间的电子商务,通过AS2使企业之间的数据传送具有不可抵赖性
flashAS2和AS3代码编写,实现:缩放SWF,其swf中的元件也适应适应其缩放自动改变大小位置。
本资源为用于flex导入或导出excel的类库as3xls,现存网上的类库as3xls最大问题是对中文不够支持,虽然网上早已支持中文的as3xls,但存在最大三个问题: 1:在导入excel操作中,如果excel的公式里带中文的,则该公式...
优化as的代码(某些技巧同时适用as2和as3), 注释部分用英文原文, 中文部分按自己理解总结
flash as3 任意旋转和拖动七巧板
as3swf AS3库
让你开发愤怒的小鸟 不在那么难AS3Box2D小游戏AS3Box2D小游戏
Java2As3.fxp 是Java2As3.exe的许可文件 Java2As3.exe 是windows 安装包,如果不用工程跑,可先安装AdobeAIRInstaller,再安装Java2As3.exe。 Java2As3.p12是源代码,使用方式: 在eclipse 中 File>>>Import>>>...