- 浏览: 200577 次
- 性别:
- 来自: 上海
最新评论
-
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 3789色彩是一门很深的学问,每种色彩都有自己的特点和原理。设计师要在 ... -
colormatrixFilter
2008-07-31 12:38 1137http://hi.baidu.com/fmz1206/blo ... -
使用BlazeDS实现Java和Flex通信
2008-06-16 09:21 1054http://blog.chinaunix.net/u/216 ... -
amf是什么东东
2008-06-12 16:59 1352今天我们开发的 J2EE 网 ... -
Flash特效制作常用的源代码大放送
2008-06-06 16:02 1093对象数组 比如要构建一个有很多属性的数组,简单的可以这样 ... -
关于ApplicationDomain的一些理解
2008-06-05 17:07 2865应用程序域: 允许跨域加载swf后,还可能出现加载的swf中的 ... -
Flash OBJECT和EMBED标签详解
2008-06-05 17:03 31119Flash OBJECT和EMBED标签 一 ... -
flex的一些项目
2008-06-03 14:48 1323一些Flex开源项目的整理 Adobe APIs 主要包 ... -
flex模式(转载)
2008-06-03 14:28 1532[url] http://www.awflasher.com/ ... -
programming Flex2 学习笔记-第5章-框架基础.txt (转载的,来自)
2008-05-29 10:40 1268来自http://blog.chinaunix.net ... -
给DataGrid设置背景色(汇总)
2008-05-27 16:49 5042DataGrid颜色专题 在Flex运用中经常提到的有关 ... -
通过ApplicationDomain类获得被加载应用程序域
2008-05-27 13:32 1640首先先回顾一下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 24261. 论坛上常说的MC、FS、 ...
相关推荐
iOS版微信抢红包Tweak.zip小程序
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
基于springboot社区停车信息管理系统.zip
基于springboot南皮站化验室管理系统源码数据库文档.zip
## 数据指标说明 全要素生产率(TFP)也可以称之为系统生产率。指生产单位(主要为企业)作为系统中的各个要素的综合生产率,以区别于要素生产率(如技术生产率)。测算公式为:全要素生产率=产出总量/全部资源投入量。 数据测算:包含OL、FE、LP、OP、GMM共五种TFP测算方法!数据结果包括excel和dta格式,其中重要指标包括证券代码,固定资产净额,营业总收入,营业收入,营业成本,销售费用,管理费用,财务费用,购建固定资产无形资产和其他长期资产支付的现金,支付给职工以及为职工支付的现金,员工人数,折旧摊销,行业代码,上市日期,AB股交叉码,退市日期,年末是否ST或PT等变量指标分析。文件包括计算方法说明及原始数据和代码。 数据名称:上市公司全要素生产率TFP数据及测算方法(OL、FE、LP、OP、GMM) 数据年份:2000-2023年 数据指标:证券代码、year、TFP_OLS、TFP_FE、TFP_LP1、TFP_OP、TFP_OPacf、TFP_GMM
内容概要:本文详细总结了多种编程语言下常用的算法实现资源,涵盖Python、C++、Java等流行编程语言及其相关的开源平台、在线课程和权威书籍。对于每种语言而言,均提供了具体资源列表,包括开源项目、标准库支持、在线课程及专业书籍推荐。 适合人群:适用于所有希望深入研究并提高特定编程语言算法能力的学习者,无论是编程新手还是有一定经验的技术人员。 使用场景及目标:帮助开发者快速定位到合适的算法学习资料,无论是出于个人兴趣自学、面试准备或是实际工作中遇到的具体算法问题,都能找到合适的解决方案。 其他说明:文中提及多个在线学习平台和社区网站,不仅限于某一特定语言,对于跨学科或多元化技能培养也具有很高的参考价值。
基于springboot的交通旅游订票系统源码数据库文档.zip
内容概要:本文档是一份详细的GO语言教程,涵盖了Go语言的基础语法、数据类型、控制结构、函数、结构体、接口以及并发编程等多个方面。主要内容包括Go语言的基本概念和历史背景、环境配置、基本语法(如变量、数据类型、控制结构)、函数定义与调用、高级特性(如闭包、可变参数)、自定义数据类型(如结构体、接口)以及并发编程(如goroutine、channel、select)等内容。每部分内容都附有具体的代码示例,帮助读者理解和掌握相关知识点。 适合人群:具备一定编程基础的开发者,尤其是希望深入学习和应用Go语言的技术人员。 使用场景及目标:①初学者通过本教程快速入门Go语言;②有一定经验的开发者系统复习和完善Go语言知识;③实际项目开发中利用Go语言解决高性能、高并发的编程问题。 阅读建议:本文档全面介绍了Go语言的各项基础知识和技术细节,建议按章节顺序逐步学习,通过动手实践代码示例加深理解。对于复杂的概念和技术点,可以通过查阅更多资料或进行深入研究来巩固知识。
GEE训练教程
memcached笔记资料,配套视频:https://www.bilibili.com/list/474327672?sid=4486766&spm_id_from=333.999.0.0&desc=1
基于springboot校内跑腿业务系统源码数据库文档.zip
计算机控制光感自动窗帘控制系统设计.doc
基于SpringBoot的校园服务系统源码数据库文档.zip
基于SpringBoot+Vue的美容店信息管理系统源码数据库文档.zip
基于springboot程序设计基础课程辅助教学系统源码数据库文档.zip
这是一个原生的JS网页版斗地主小游戏,代码注释全。带有斗地主游戏基本的地主、选牌、提示、出牌、倒计时等功能。简单好玩,欢迎下载
基于springboot亚运会志愿者管理系统源码数据库文档.zip
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
GEE训练教程——Landsat5、8和Sentinel-2、DEM和各2哦想指数下载
基于springboot家校合作平台源码数据库文档.zip