摘要:加载形式FLASH加载文件有两种常规方式:一种是URLLoader,可以加载文本、二进制数据或 URL 编码变量形式的数据,然后转换成简单的文本形式或值对字符串形式;一种是Loader,可以将加载的图像文件转换成BitmapData,也可以解析SWF文件。(Socket, LocalConnection这些非常用类不在讨论范围)加载的资源应被统一管理以方便调用和重用,管理方式一般有两种:一种是将资源全部打包进SWF;一种是加载分散资源通过配置进行管理。我将对这两种管理方式进行介绍。资源打包成SWF在编辑FLA文件时,我们可以导入各种图片,并为其设置链接名。除手工逐个操作外,我们可以借助JSFL 阅读全文
posted @ 2011-06-24 14:52 子福当自强 阅读 (220) 评论 (0) 编辑
摘要:一般程序开发完成后就进入了繁琐无趣的后期维护阶段,请不要以为一个不停更新的项目后期维护是一件轻松的事情,它会暴露出开发过程中的所有硬伤,不规范的写法、混乱的逻辑结构、高耦合导致地牵一发而动全身。虽然开发内容实际上减少了,但人力成本反而更高。要提高这方面效率有很多技巧,本文介绍的内容只是起点--如何快速找到项目中需要修改的代码。一般出现问题首先看到得是表现部分,例如对话框,关系到一些具体逻辑或某个服务端请求,即使不是很清晰的部分也一定有临近的区域。根据表现找到其对应代码,我将其称为定位。搜索关键字:泛用但低效搜索关键字是广泛使用的方法。例如,你在节目上看到某个图片,找到图片标志,在所有代码中搜索 阅读全文
posted @ 2011-06-24 14:52 子福当自强 阅读 (79) 评论 (0) 编辑
摘要:GC和内存泄露无关垃圾回收,这次是一个被无数人讨论过的传统话题。Action Script使用的是和Java相似的内存管理机制,并不会即时回收废弃对象的内存,而是在特定时间统一执行一次GC(Gabage Collection)操作来释放废弃对象的内存,避免了重复判断是否需要回收产生的性能问题。但要注意,这只是决定回收的时机,而不是回收的内容。这个延迟执行内存回收也就是个表面的现象,不管什么时候执行GC,能够回收的内存最终都能回收,不能回收的肯定不能回收。唯一的影响是,因为回收是延迟执行的,你在查看内存的时候不能直观地看到因为一个对象被废弃而回收内存的过程,会产生迷惑。但这对于解决内存泄露是无关 阅读全文
posted @ 2011-06-24 14:51 子福当自强 阅读 (167) 评论 (0) 编辑
摘要:FLASH与传统环境的不同点MVC最早在1979年的时候第一次被人提出。不过,当时还不存在网络应用的概念。之后当万维网诞生之后,又过了很长时间……它并不是自诞生就开始流行的,而改变的原因很简单——因为两个极其流行的开发框架包含了这种模式,它们就是:Struts 和 Ruby on Rails。之后,模仿者蜂拥而至。所以,在人们眼里看来,实际上是先有的Struts,然后才有的MVC,也无怪乎MVC的概念会始终沾染着Web概念,乃至和一些框架附加内容牵涉不清。因为Struts很好用,别的不说,至少让HTML显得干净了很多。所以很多人都在用Struts,这未必是因为需要MVC模式,而是因为他们需要S 阅读全文
posted @ 2011-06-24 14:47 子福当自强 阅读 (103) 评论 (0) 编辑
摘要:透过现象看本质首先是个转场特效问题。其实我早想到做法了,只是当时还没实践。增加混合(BlendMode.ADD)只要关系到光效,泛用性就很高,叠加着画上去看起来应该就是这个效果。但是我还是先到群里问了下,然后一帮人就跟我说径向模糊。还有一帮人说以前搞过,拿我的原图上了个径向模糊发给我。但是径向模糊多慢用过PS都知道,怎么也不可能用在动画效果里的。这个东西的确有点像径向模糊,但是像什么就做什么,从表面着手,思考方式就有点单纯了。实际上做法再简单不过,调整Matrix缩放和旋转图形,一点点放大,然后用增加混合模式将原图叠加着画上去即可。var m:Matrix = new Matrix(); m. 阅读全文
posted @ 2011-06-24 14:46 子福当自强 阅读 (92) 评论 (0) 编辑
摘要:最短路径原则,就是将复杂的问题简单化。达到目标并不是只有一条路,眼前的那条往往也不是最短的一条。所以,解决问题前的第一步,应该是要找实现目标的最短路线。虽然有些人可能会喜欢完成些复杂的算法来获得成就感,但这就是另一个话题了。要明白,我们是作为实现工具的工人,而不是授命在空中楼阁中研究的学者。魔术师视角,而不是观众视角首先是一个比较典型的例子。那位兄台提出这个问题的时候,问的是碰撞检测。而且是不规则形状,有凹的也有凸的碰撞检测。判断两个物体是否边缘匹配,可以拼在一起。最后还要在放下时自动检测周围的方块,并自动吸附。必须得说,这个课题真的很困难,倒不是说找不出方法,而是找不出效率可以接受的方法。优 阅读全文
posted @ 2011-06-24 14:45 子福当自强 阅读 (199) 评论 (0) 编辑
摘要:【编者按】随着富互联网技术(RIA)的潮流,Flash技术在互联网中的应用越来越多,国内Flash开发者数量也在以惊人的数量增长。本专题——务实主义,将主要介绍如何在Flash开发过程中尽量提高自己的开发效率,不为花哨,只为务实。文章中会提及许多flash开发中的实用技巧,期望对各位看官能有所帮助。不需要的战争很早以前就有一种说法——技术行业里最无聊的莫过于语言战争。最典型的就是Java与.net之间旷日持久的战争与和平,期间掺杂着公司的宣传手腕,永不休止的针对细枝末节的口水战。一件事情要争论起来始终都有素材,问题在于这种大规模的嘴仗,即使产生了结论也难以被沉淀下来。而且,其结论往往也无法产生 阅读全文
posted @ 2011-06-24 14:42 子福当自强 阅读 (128) 评论 (0) 编辑
摘要:D语言是一种由Digital Mars公司创造的系统编程语言,它专注于“把C和C++的能力和高性能与先进的语言——像Ruby和Python——的高生产力结合起来。” 尽管它仍然是一种静态类型的语言,可以直接编译成本地代码,而且语法看起来与Java或者C#非常类似,但是它做出了很多有意义的改进。这些改进包括明确地支持惰性参数。当我们使用关键字“lazy”标记一个形参时,就意味着相关的实参会被赋值0次或者多次。这与Haskell之类的语言不同,它会延迟对实参赋值0次或者1次,但不会再多。为了保证程序的正确性,特别是在并行以及多线程的领域中的正确性,D语言支持把“immutable”和“const” 阅读全文
posted @ 2011-06-24 14:33 子福当自强 阅读 (185) 评论 (0) 编辑
悟道2012