工厂设计模式【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
相关文档:
C#与Flash交互 (转自小磊在线)
C#与Flash交互
前段日子公司要求做一个C#与Flash交互的东西,用来C#与短信猫通讯将数据传到Flash上显示与操作的应用。
第一步C#添加组件
打开VS2005-工具-选择工具箱项-COM组件-选择Shockwave Flash Object-确定
添加好组件往场景上拖放,如果提示注册需求注册
c# 注册控件-在运行输 ......
flash与javascript的交互可能讨论的比较多,今天为大家介绍下如何使用flex与javascript进行交互
一、在JavaScript中调用Flex方法
在Flex中可以用ExternalInterface来调用Flex的方法,途径是
1.通过在Flex应用可调用方法列表中添加指定的公用方法。在Flex应用中通过调用addCallback()可以把一个方法添加到此列表中。addC ......
在页面A中加载了一个flash文件a.swf后,a.swf的路径就会变成A所在的路径。如果在a.swf中要加载b.swf时,这时候的路径就要进行相应的处理。
本来按照a.swf和b.swf在磁盘中的存放路径,a中加载b是很简单的,但是现在a.swf已经变成页面A所在的路径了,如果还是安装原来的路径去加载b.swf就加载不了了。因此可以在as代码加载b ......
flash mx.transitions.Tween;可以实现类似于补间动画的效果;导入该类:
import mx.transitions.Tween;
然后用new Tween()方法即可实现。New Tween()方法格式:
new Tween(要应用补间的MC,要应用补间的MC的属性,缓动效果,属性的初始值,属性的结束值,补间的长度,补间长度的类型)
下面介绍一下new Tween()方 ......
网页导航菜单被Flash和播放器等对象挡住看不到,非常头疼。其实在<object>标签中加入以下代码就可解决:
<param name="wmode" value="Opaque">
例如有如下代码:
<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player&qu ......