工厂设计模式【Flash】
工厂模式在设计模式中可以说是最简单的一个模式了!我们平常写程序的时候工厂模式用的非常的广泛!这里我们就来详细的探讨一下工厂模式。
工厂模式是怎样诞生的呢?在实际的编程过程当中我们经常要碰到一个问题,就是类的封装,也可以说是隐藏产品类!这样我们就出现了工厂模式!这个模式就是专门用来隐藏产品类的!平常我们要是创建一个Sprite类的实例我们会这样写:
var my:Sprite = new Sprite();
addChild(my);
这样写看似简单明了!但事实上不符合我们隐藏产品类的目的!设想一下!这样写之后,在类中任意一个方法都可以访问到这个对象,这是我们不希望的。所以,我们就要想办法隐藏这个Sprite(在实际编程的时候一般都是比较复杂的对象)类。那么我们怎么做呢?首先我们要有一个思路!就是使用“中介”(这个名字是我自己起的)。这个中介是产品类与客户中间的一座桥梁,我们通过中介来生成产品。这样就可以来隐藏产品类了!
那么好了,我们来看一个简单的实例吧!这里我们的产品类使用的是接口!那么我们这个产品做什么呢?为了简单起见,我们的产品一个画一个正方形,另一个画一个圆形。这样来区分2个产品。
IShape接口:
package{
public interface IShape{
function moveshape(X:int,Y:int):void;
function drawshape():void;
}
}
Round类:
package{
import flash.display.Shape;
public class Round extends Shape implements IShape{
public function drawshape():void{
graphics.beginFill(0x00ff00);
graphics.drawCircle(0,0,100);
graphics.endFill();
}
public function moveshape(X:int,Y:int):void{
this.x = X;
this.y = Y;
}
}
}
Rectshape类:
package {
import flash.display.Shape;
public class Rectshape extends Shape implements IShape{
public function drawshape():void{
graphics.beginFill(0xff00ff);
graphics.drawRect(0,0,100,100);
graphics.endFill();
}
public function moveshape(X:int,Y:int):void{
this.x = X;
this.y = Y;
}
}
}
DrawshapeObject类:
package{
import flash.errors.IllegalOperationError;
import flash.display.DisplayObjectContainer;
import flash.display.Sprite;
public clas
相关文档:
此处嵌入的flash里面的图片是可以随时发生改变的图片(动态图片)
注意蓝色字体的地方,这些地方都要统一
<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="${ctx}/ui/Login/AC_RunActiveContent.js"
language="javascript"></script& ......
1 Flash类型与技术特点
Flash主要分为NOR和NAND两类。下面对二者作较为详细的比较。
1.1 性能比较
Flash 闪存是非易失存储器,可以对存储器单元块进行擦写和再编程。任何Flash器件进行写入操作前必须先执行擦除。NAND器件执行擦除操作十分简单;而 NOR则要求在进行擦除前,先要将目标块内所有的位都写为0 ......
网页导航菜单被Flash和播放器等对象挡住看不到,非常头疼。其实在<object>标签中加入以下代码就可解决:
<param name="wmode" value="Opaque">
例如有如下代码:
<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player&qu ......