posted @ 2009-11-20 17:42 Bill Yuan 阅读(555) 评论(0) 推荐(0) 编辑
摘要:
1. 单一职责原则:一个类,最好只做一件事,只有一个引起它变化的原因。2. 开发封闭原则:软件实体应当对修改关闭,对扩展开放。3. 依赖倒置原则:依赖于抽象,而不要依赖于具体,因为抽象相对稳定。4. 接口隔离原则:尽量应用专门的接口,而不是单一得总接口,接口应该面向用户,将依赖建立在最小得接口上。5. 里氏替换原则:子类必须能够替换其基类。6. 合成/聚合复用原则:在新对象中聚合已有对象,使之成为... 阅读全文
摘要:
下面 Think in As中的一段演示代码,见 TestSandwich.as:[代码] 测试类很简单只有一句:new Sandwich()。构造出 Sandwich 类一个实例。 Sandwich 类继承了 PortableLunch 这个类。现在有一个问题,是先有子类还是先有父类?是先有父亲后有儿子,还是先有儿子后有父亲?肯定是先有父亲。那么怎么有的父亲?需要先构造出来。怎么构造?调用构造函... 阅读全文
posted @ 2009-11-20 17:37 Bill Yuan 阅读(963) 评论(0) 推荐(0) 编辑
摘要:
3D的概念和术语转换3D物体材质贴图照明灯光活跃关于3D图形的书已经写了很多,从某种意义上来说,这章是另一个部分。然而,大部分3D图形的著作都是写如何执行特殊的算法,只有一小部分是集中于怎样最好地表现和操纵图形结构。因为我们用地是Direct3D,很多3D的概念问题已经解决了。但是,你仍然需要理解3D的核心概念以便使用Direct3D。3D坐标系统3D图形的目标是用二维的图象来代表三维的场景。之所... 阅读全文
posted @ 2009-11-20 17:28 Bill Yuan 阅读(4425) 评论(0) 推荐(0) 编辑
摘要:
1、用乘法来代替除法(当除数可转化为有限数的时候)。比如varn:Number=value*0.5;要比varn:Number=value/2;快。但差别并不是很大。只有在需要大量计算情况下,比如3D引擎中差别才比较明显。2、用位运算代替除2或乘2。比如10>>1要比10*2快,而10<<1要比10*2快。从测试来看位运算几乎比乘除快一倍,但是一般情况下,我们不能选择位运算... 阅读全文
posted @ 2009-11-20 17:23 Bill Yuan 阅读(775) 评论(0) 推荐(0) 编辑
摘要:
众所周知,在ActionScript 3中,除了escape和unescape两个字符串编码和解码函数以外,新增了encodeURI,encodeURIComponent,decodeURI,decodeURIComponent四个函数,在开发过程中遇到了与此相关的问题,仔细研究了一下这as3中的六个函数: 除了官方文档里的说明以外,我补充几点我在使用过程中发现的一些值得注意的地方,至于AS3中e... 阅读全文
posted @ 2009-11-20 17:19 Bill Yuan 阅读(1332) 评论(0) 推荐(0) 编辑