源代码中的字符转义

2013年3月27日 2 条评论

作为一个程序员写代码是每天必做的事,当需要在一个字符串里包含一个换行符时,我们会使用\n来表示,而不是在编辑器里敲一个回车,这时\n就是一个字符转义,它代表了编码为10的换行符。当我们加载内容为\n的文件时,这个文件有2个字符,并且跟换行没有任何关系。
阅读全文...

标签: ,

操作子SWF(五)覆盖原则

2012年7月2日 1 条评论

当项目已经很是久远,当资源又管理不善,丢失源文件的情况终于发生了.当我们需要修改它的时候却发现fla和as文件找不到了,重新写一个又要好长时间,而且只需要做简单的修改,比如添加Event.ADDED_TO_STAGE后再访问stage属性.这时覆盖原则就派上用场了,但是不到万不得以的时候还是不要使用为妙,因为会增加维护成本.
阅读全文...

操作子SWF(四)接口或继承

2012年7月1日 没有评论

在模块开发方式下总是会有很多独立的模块,而这些模块都是在需要时运行,不需要时暂停.当然,可以在需要时加载,不需要时卸载掉,如果这些模块的运行和暂停操作很频繁,又或者他们自己还保存了一些有状态的数据(比如size),那么就不能频繁的加载和卸载了,因为会造成内存的增加和cpu的频繁波动.那么可以在第一次加载完成后一直持有这些对象而不卸载,然后调用start和pause方法来实现运行与暂停.
阅读全文...

标签:

操作子SWF(三)外部SWC

2012年6月26日 5 条评论

加载SubSWF后,使用反射可以轻松获取到SubSWF里的所有Class,但是前提需要知道他们的完全限定名.对于大型项目如果大量使用硬编码来写类名会很容易将类名拼写错误,排错会浪费掉很多的时间.有没有一个好方法来避免这种错误呢,那就是让编译器来帮忙排错吧.
阅读全文...

标签:

操作子SWF(二)使用反射

2012年6月21日 3 条评论

当我们有多个很小的素材,比如一些矢量的素材图标,这些图标的体积通常都比较小,如果每个都放到一个swf里就会出现太多的swf文件,造成文件太碎,管理不方便.那么我们就需要将这些相关的素材整合到一个swf文件里,同时又要能被加载后访问到,就用到了库元件导出类.这样就能被加载来访问到了.
阅读全文...

标签: ,

操作子SWF(一)直接操作

2012年6月19日 1 条评论

通常做一个应用或者游戏或者其他什么,都不会只是用一个swf就搞定了,比如说以前很火的动画播放器,就是一个MainSWF(主swf)按顺序加载并播放多个SubSWF(子SWF),那么这时我们就需要加载并操作这些SubSWF.这是最简单的父子SWF交互的情况.
阅读全文...

标签:

AS3的类型转换

2011年9月12日 没有评论

都说C/C++的类型转换个很头疼的问题。我说AS3的类型转换也简单不了多少(后者相比前者肯定简单些,呵呵)。

何为类型转换

当操作数的类型不同时,需要将一种类型转换为另一种类型,这就是类型转换。

类型转换分为显示类型转换隐式类型转换两种。
阅读全文...

教程:深入理解Flash的安全沙箱 – Security Domains

2010年12月15日 2 条评论

今天终于把关于安全域和应用程序域的教程好好看了一遍。觉得人家老外就是专业:内容非常有条理且完整,图文并茂,举例也非常实用,真是教程中的精品。刚好我最近也在整理这方面的知识,于是决定把这篇翻译出来,方便国内的读者。对想要进阶理解Flash的运行机制的朋友,本文是不可多得的好材料。

简介

如果你还没有与复杂的的安全域(security domain)和应用程序域(application domain)问题打过交道,那么你真是个幸运的家伙。当你在加载外部内容(然后他们开始播放)的时候,默认的设置工作的很好,你甚至不知道他们的存在。 但是某些时候你可能需要控制默认设置以外的更多行为和功能,这样你就会遇到前面所说的问题。你也许会困扰于Security.allowDomain和crossdomain.xml文件的区别,又或者你想要深究关于安全性的最佳实践。如果是这样,那么这篇文章就是你所需要的了。
以下的教程将会讨论什么是安全域和应用程序域,以及他们在Flash Player中应该如何使用。
阅读全文...

教程:深入理解Flash的应用程序域(Application Domains)

2010年12月15日 4 条评论

简介

网上有很多flash,通常都不需要显示的使用应用程序域,因为默认的应用程序域就够用了。其实复杂的情况下需要用到应用程序域,比如说有两个不同的swf,一个是旧版本的,一个是新版的,这两个文件里的类有相同的完全限定明,之前的设计是旧的swf不要了,用新的swf代替,后来又要这两个swf同时加载到一个主程序里,那么这时就需要使用到应用程序域了。
阅读全文...

使用规范的语法,规范的API

2010年9月21日 没有评论

有时使用规范的API会增加代码量,会让代码看起来不太好看。
例如:获取时间轴mc里一个叫txt的文本,并使其显示"this is text!" 字符串。

简洁的非规范写法:

mc["txt"].text = "this is text!";

规范的写法:

TextField(mc.getChildByName("txt")).text = "this is text!";

很明显非规范的写法更简单,代码量更少, 但是这样的写法却有时候获取不到目标显示对象, 而规范的写法一定能获取到目标显示对象。 所以为了程序的健壮,为了少点bug。让我们在任何地方都使用规范的写法吧。

标签:
回到顶部