- 浏览: 200636 次
- 性别:
- 来自: 上海
最新评论
-
zhuzhuaijq:
Flash OBJECT和EMBED标签详解 -
matt.u:
好像有点深奥。
一篇比较好演示AS的重构方法 -
luofeng113:
分析得不错,
flex编程感受 -
felixsky:
请问flexunit如何测试private和internal的 ...
FLEXUnit应用 -
wv1124:
你不能分个页啊,看得人都要死了
Apollo: 开发者问答录
For any major project, you couldn't pull me away from classes and an external editor. Nowadays it's Eclipse and Flex Builder. Before that it was FlashDevelop, and before that PrimalScript. In general, I hate coding in the Flash IDE.对于很多的大项目来说,你当然无法将我从编辑器以及类身边抽出来,现在ECLIPSE和FLEX BUILDER就是这样的编辑器,以前那是FLASH DEVELOP PRIMALSCRIPT,然而总的来说我却痛恨在IDE里面编写代码
But often enough, when I'm doing some quick experiment or proof of concept, nothing beats opening up Flash creating a new movie, slamming some code down on the timeline, and pressing Control/Command-Enter. No concern about workspaces and projects. You don't even have to save the damn file. "untitled-1.swf"! Amen!但是通常足够了,当我做一些小的实验来验证某个观念,没有东西能够和创建一部新的影片,在时间轴上写下代码,创建命令按键控制相媲美。不需要考虑工作空间和项目,甚至不需要该死的文件。“未命名-1.swf”
Half the time I do that, that's as far as it goes. But sometimes those quick experiments pan out into something I want to develop further. Then I'm left with the task of scraping that timeline code out of the Actions Panel, and turning it into a class. With my recent Mandelbrot experiment, I realized that there are things you can do to make that conversion process easier, if and when it comes.我一半的时间在做这,当然意义远不止这些,然而有时一些快速的实验可以将我需要进一步开发的东西阐释清楚,那时我便会打开一个AS面版在时间轴上欢快的写起来。关于我最近的MANDBOLERT(分形)实验,我意识到了可以做些事情能够让传统的过程更加容易,如果确实要这样做的话
Most of these go back to good practices I tried to follow way back in AS1 before I was even writing classes, and everything was on the timeline.大多数包含了好的习惯,我想尝试变回咋AS1上开发,所有的编程都围绕时间轴展开
0. All imports right up top.所有的引用要在最右上方【废话】
1. All timeline vars right after imports. Use var, and type your data.所有的时间轴变量在导入语句后申明,使用VAR关键字以及所有的数据
2. ALL code within functions. ALL code. NO stray statements on the timeline. Sometimes when you are just messing around, you'll wind up with a mishmash of functions and statements. Gather up all those loose statements and put them into functions.所有的代码包含在函数里,是的所有的代码,时间轴上没有直接的代码段,如果有时候你确实混乱的不行了,收集那些重复了很多次的代码片段将他们封装成函数【这一点个人感觉很有技术含量的一个事情】
3. All the statements that are just there to set things up go into an init function.所有用来准备的代码封装到INIT函数里
4. Now you are allowed one statement on the timeline itself: init(); The stuff in the init function should be designed to run only once. "init" means "initialize", which means, "set to the value or put in the condition appropriate to the start of an operation". If you find yourself calling init() again, pull some of that stuff out into a "reset" function or something of the sort, and that's what you call multiple times.这样你在时间轴上,只允许一条语句INIT();这里面的代码设计来只运行一次,INIT意味着初始化,如果你的INIT运行了两次,那么抽出那一部分重新组装成RESET()函数
This leaves you with something like this:向下面的代码
PLAIN TEXT
Actionscript:
import flash.display.BitmapData;
import some.other.class;
import some.other.package.*;
var something:SomeType;
var somethingElse:SomeOtherType;
init();
function init():void
{
// body of init
}
function doSomething():void
{
// body
}
function doSomethingElse():void
{
//body
}
That's timeline code, but hell, it's almost starting to look like a class. Not only is it well organized and easy to read, but when the time comes to convert it to a class, there are a few simple steps to get it there:这就是时间轴代码,不仅组织的很好,而且也易于阅读,即使是需要将这些代码转换成类,那么也只需要几个简单的步骤而已
1. Wrap the whole thing in a package statement.将所有的语句包含在包语句里
2. Wrap everything after the imports in a class statement that extends MovieClip or Sprite.在导入语句之后包含类申明,或者是扩展MC类
3. Add indentation to taste.添加标识符
4. Add private to all your vars and functions.为你所有的函数添加private修饰符
5. Wrap the call to init() in a constructor. (Or remove the call to init, and turn the init function into your constructor. I prefer to keep the constructor as just a call to init.)将INIT包裹到构造函数里
6. You might have to add some more imports, as the IDE auto-imports a lot of common stuff.也许你要添加更多的导入语句
If all goes well, you should have a working document class.如果顺利那么通过这些步骤你便得到了一个良好文档的类
http://www.51as.com/as3/BianXieShiJianZhouDaiMaDaiMaGuiFan/
But often enough, when I'm doing some quick experiment or proof of concept, nothing beats opening up Flash creating a new movie, slamming some code down on the timeline, and pressing Control/Command-Enter. No concern about workspaces and projects. You don't even have to save the damn file. "untitled-1.swf"! Amen!但是通常足够了,当我做一些小的实验来验证某个观念,没有东西能够和创建一部新的影片,在时间轴上写下代码,创建命令按键控制相媲美。不需要考虑工作空间和项目,甚至不需要该死的文件。“未命名-1.swf”
Half the time I do that, that's as far as it goes. But sometimes those quick experiments pan out into something I want to develop further. Then I'm left with the task of scraping that timeline code out of the Actions Panel, and turning it into a class. With my recent Mandelbrot experiment, I realized that there are things you can do to make that conversion process easier, if and when it comes.我一半的时间在做这,当然意义远不止这些,然而有时一些快速的实验可以将我需要进一步开发的东西阐释清楚,那时我便会打开一个AS面版在时间轴上欢快的写起来。关于我最近的MANDBOLERT(分形)实验,我意识到了可以做些事情能够让传统的过程更加容易,如果确实要这样做的话
Most of these go back to good practices I tried to follow way back in AS1 before I was even writing classes, and everything was on the timeline.大多数包含了好的习惯,我想尝试变回咋AS1上开发,所有的编程都围绕时间轴展开
0. All imports right up top.所有的引用要在最右上方【废话】
1. All timeline vars right after imports. Use var, and type your data.所有的时间轴变量在导入语句后申明,使用VAR关键字以及所有的数据
2. ALL code within functions. ALL code. NO stray statements on the timeline. Sometimes when you are just messing around, you'll wind up with a mishmash of functions and statements. Gather up all those loose statements and put them into functions.所有的代码包含在函数里,是的所有的代码,时间轴上没有直接的代码段,如果有时候你确实混乱的不行了,收集那些重复了很多次的代码片段将他们封装成函数【这一点个人感觉很有技术含量的一个事情】
3. All the statements that are just there to set things up go into an init function.所有用来准备的代码封装到INIT函数里
4. Now you are allowed one statement on the timeline itself: init(); The stuff in the init function should be designed to run only once. "init" means "initialize", which means, "set to the value or put in the condition appropriate to the start of an operation". If you find yourself calling init() again, pull some of that stuff out into a "reset" function or something of the sort, and that's what you call multiple times.这样你在时间轴上,只允许一条语句INIT();这里面的代码设计来只运行一次,INIT意味着初始化,如果你的INIT运行了两次,那么抽出那一部分重新组装成RESET()函数
This leaves you with something like this:向下面的代码
PLAIN TEXT
Actionscript:
import flash.display.BitmapData;
import some.other.class;
import some.other.package.*;
var something:SomeType;
var somethingElse:SomeOtherType;
init();
function init():void
{
// body of init
}
function doSomething():void
{
// body
}
function doSomethingElse():void
{
//body
}
That's timeline code, but hell, it's almost starting to look like a class. Not only is it well organized and easy to read, but when the time comes to convert it to a class, there are a few simple steps to get it there:这就是时间轴代码,不仅组织的很好,而且也易于阅读,即使是需要将这些代码转换成类,那么也只需要几个简单的步骤而已
1. Wrap the whole thing in a package statement.将所有的语句包含在包语句里
2. Wrap everything after the imports in a class statement that extends MovieClip or Sprite.在导入语句之后包含类申明,或者是扩展MC类
3. Add indentation to taste.添加标识符
4. Add private to all your vars and functions.为你所有的函数添加private修饰符
5. Wrap the call to init() in a constructor. (Or remove the call to init, and turn the init function into your constructor. I prefer to keep the constructor as just a call to init.)将INIT包裹到构造函数里
6. You might have to add some more imports, as the IDE auto-imports a lot of common stuff.也许你要添加更多的导入语句
If all goes well, you should have a working document class.如果顺利那么通过这些步骤你便得到了一个良好文档的类
http://www.51as.com/as3/BianXieShiJianZhouDaiMaDaiMaGuiFan/
发表评论
-
pv3d学习资料
2009-08-13 14:54 1870官方网站 http://www.papervision3d.c ... -
Flash客户端间的交互
2009-08-13 14:35 3066Flash有着天生非凡的动画和交互能力, 在RIA (富互联网 ... -
ItemRenderer的用法
2009-01-14 13:59 1812项目渲染器(ItemRenderer ... -
Flex3组件拖放教程
2008-08-27 16:27 2494关于组件拖放 可视化的开发环境就是要允许用户能够在屏幕中通过鼠 ... -
基于MVC的Flex framework比较
2008-08-13 10:13 1592关键字: mvc framework 原文出处:[url]h ... -
色彩模式(RGB、CMYK、HSB、Lab、Duotone等)
2008-08-05 13:10 3790色彩是一门很深的学问,每种色彩都有自己的特点和原理。设计师要在 ... -
colormatrixFilter
2008-07-31 12:38 1137http://hi.baidu.com/fmz1206/blo ... -
使用BlazeDS实现Java和Flex通信
2008-06-16 09:21 1055http://blog.chinaunix.net/u/216 ... -
amf是什么东东
2008-06-12 16:59 1353今天我们开发的 J2EE 网 ... -
Flash特效制作常用的源代码大放送
2008-06-06 16:02 1094对象数组 比如要构建一个有很多属性的数组,简单的可以这样 ... -
关于ApplicationDomain的一些理解
2008-06-05 17:07 2866应用程序域: 允许跨域加载swf后,还可能出现加载的swf中的 ... -
Flash OBJECT和EMBED标签详解
2008-06-05 17:03 31119Flash OBJECT和EMBED标签 一 ... -
flex的一些项目
2008-06-03 14:48 1324一些Flex开源项目的整理 Adobe APIs 主要包 ... -
flex模式(转载)
2008-06-03 14:28 1532[url] http://www.awflasher.com/ ... -
programming Flex2 学习笔记-第5章-框架基础.txt (转载的,来自)
2008-05-29 10:40 1269来自http://blog.chinaunix.net ... -
给DataGrid设置背景色(汇总)
2008-05-27 16:49 5043DataGrid颜色专题 在Flex运用中经常提到的有关 ... -
通过ApplicationDomain类获得被加载应用程序域
2008-05-27 13:32 1641首先先回顾一下FLASH的OO ... -
一些Flex / Flash开源项目
2008-05-09 14:26 1547Adobe APIs 主要包含corelib, ... -
这几个网站是我经常去的,做开发时可以参考
2008-05-09 14:14 1403http://www.flashas.net/ http:// ... -
108种Flash常见问题解答(收藏别的:站名:http://www.flashas.net/)
2008-05-09 14:09 24271. 论坛上常说的MC、FS、 ...
相关推荐
### 陈佩蕙的Verilog代码规范 #### 概述 陈佩蕙的Verilog代码规范,是由陈佩蕙在2004年为STC/ITRI制作的一份关于IP设计规范的重要文档。这份文档详细阐述了在系统级芯片(SoC)设计中所面临的挑战、软硬件IP的设计...
标题中的“将你写的任意风格的CSS代码转换成符合NEC代码规范的Gulp插件”指的是一个名为Gulp-css-single的工具,它主要用于自动化CSS代码格式化过程,确保代码遵循NEC(可能是某个特定的CSS编码规范或者缩写)的规则...
在这个时间轴组件中,每个事件可能包含时间戳、标题、描述、链接等属性,这些数据会被JavaScript代码读取并显示在时间线上。 `timeline.psd`是Photoshop文档,通常用于设计组件的视觉样式和布局。设计师可能在这里...
代码规范是确保代码质量、可读性、可维护性和团队协作效率的重要手段。以下几点解释了谷歌为什么要坚持执行这样的规范: 1. **提高代码可读性**:统一的代码格式和命名规则使得任何开发者,无论是在同一部门还是在...
例如,版本1.0发布于1999年1月29日,版本2.0发布于同年12月10日,这些历史记录为规范的发展提供了时间线和变更的细节。 最后,文档中提及了“controlled copy”这一概念,表明文档的分发是有控制的,只有经过授权的...
### 网页编写代码大全总结 #### 一、网页基本标签详解 ##### 1. 公司版权注释 版权注释用于说明网站的设计归属信息。它是一种非功能性注释,不会对网页的渲染产生任何影响,但有助于提供版权信息。 **示例代码**...
5. **错误检查**:确保提取的数据符合G代码规范,处理可能存在的语法错误或不完整数据。 6. **数据应用**:提取出的数据可以用于多种目的,如模拟刀具路径、计算加工时间、生成3D模型预览等。 通过以上步骤,我们...
Altera公司的Verilog代码编码规范是一系列针对FPGA设计编写的指导方针,旨在确保设计的逻辑功能精确可靠、便于快速仿真,并在电路尺寸与性能之间取得最佳折衷。此外,规范还强调了代码的可读性、易于迁移和良好的可...
在软件项目计划阶段,规范提出了合理的项目时间线、任务分配和风险管理策略。项目计划应包括里程碑、迭代计划和关键路径,以确保项目的顺利进行。同时,强调了版本控制和变更管理的重要性,以应对可能的项目调整。 ...
《jQuery购物抢购时间轴倒计时代码》是一款基于jQuery的实用代码,旨在为电子商务网站提供一种引人注目的商品抢购倒计时展示方式。它通过创建一个时间轴效果,增强用户对即将开始的抢购活动的关注度,进而提高用户的...
### C#代码规范详解 #### 一、编程风格 **1. 统一编程风格的意义** 统一编程风格对于项目的成功至关重要。它不仅提高了代码的可读性和可维护性,还减少了开发人员之间的沟通成本,使得新加入的成员能更快地理解和...
对于经验丰富的程序员,它则可以提升他们的工作效率,节省大量手动编写CALL代码的时间。 CALL代码生成器可能具备以下功能: 1. **代码模板库**:内置多种常见调用场景的代码模板,用户可以根据实际需求选择适用的...
2. 登记日期:记录问题报告创建的日期,这有助于了解问题的发现时间线,以及处理问题的效率。 3. 问题发现日期:详细记录问题首次被识别的具体日期和时间,有助于追溯问题的起源和分析问题出现的环境因素。 4. ...
在给定的压缩包"几个VHDL的源代码和和一个本人编写的5级流水线RISC CPU的代码.zip"中,包含了多个VHDL源代码文件以及一个5级流水线RISC(Reduced Instruction Set Computer)处理器的实现。VHDL是一种硬件描述语言,...
编写AS代码时,应使用英文输入法,避免全角字符和中文,保持全大写或小写,遵循良好的编程规范。以下是一个简单的例子,展示如何通过按钮控制影片剪辑的播放: ```actionscript stop(); // 停止当前动画 button....
良好的代码规范不仅有助于提升代码的可读性和可维护性,还能促进团队成员之间的协作效率。本文将从多个方面详细介绍代码书写规范的重要性及实施策略。 #### 二、写干净整洁的代码 **2.1 代码格式化** - **多级...
- **时间轴布局**:设计并实现时间轴的布局,可能需要用到自定义ViewGroup或自定义ItemDecoration来绘制时间线。 - **BottomNavigationView的集成**:使用Android官方提供的BottomNavigationView库,确保与Material ...
7. **时间节省**:通过自动化代码生成,开发者可以避免手动编写大量基础代码,将更多精力集中在项目的独特需求和创新功能上,从而显著缩短项目开发周期。 8. **版本控制兼容**:考虑到现代开发流程通常使用版本控制...
对于JavaScript项目而言,提高代码的可维护性意味着未来对项目进行更新或修复bug时所需的时间和精力会大大减少。这不仅有助于提高开发效率,还能降低长期维护成本。 #### 三、编写可读性强的代码 **1. 一致的编码...
这款插件旨在提高代码的可读性和编写效率,通过自动调整代码的缩进,使代码格式更加规范,遵循良好的编程风格。在编程过程中,保持代码的整洁和对齐是至关重要的,因为这不仅有助于提高代码质量,还有助于团队协作,...