//首先我们要导入EventDispatcher
import mx.events.EventDispatcher;
class testEvent extends MovieClip{
function testEvent(){
//在构造函数中初始化
EventDispatcher.initialize(this);
}
//定义这三个方法
function dispatchEvent(){}
function addEventListener(){}
function removeEventListener(){}
function sendOK(){
//定义事件onSend
var eventObj1:Object = {target:this,type:"onSend"};
dispatchEvent(eventObj1);
trace("OK");
//定义事件onComplete
var eventObj2:Object = {target:this,type:"onComplete"};
dispatchEvent(eventObj2);
}
}
怎么用我们的事件呢?往下看!
新建一个FLA,输入以下代码:
大家还记得UI组建的事件处理函数么,对这个和UI组建的差不多,都是addEventListener和removoeEventListener。
var testObj:testEvent = new testEvent();
var eventObj1:Object = new Object();
eventObj1.onSend = function(obj){
trace("type:"+obj.type);
}
var eventObj2:Object = new Object();
eventObj2.onComplete = function(obj){
trace("type:"+obj.type);
}
testObj.addEventListener("onSend",eventObj1);
testObj.addEventListener("onComplete",eventObj2);
testObj.sendOK();
ok!去定义你的事件吧。
问题:创建两个位置大小颜色各不同的可拖拽的矩形。
方法一:method1.fla
//ActionScript 1.0
//Flash Player 6(含)以上
//ActionScript 1.0或ActionScript 2.0均可
createEmptyMovieClip ("rectangle1_mc", 1);
rectangle1_mc._x = 10;
rectangle1_mc._y = 10;
with (rectangle1_mc) {
beginFill (0xff0000, 100);
moveTo (0, 0);
lineTo (200, 0);
lineTo (200, 200);
lineTo (0, 200);
endFill ();
}
rectangle1_mc.onPress = startDrag;
rectangle1_mc.onRelease = rectangle1_mc.onReleaseOutside = stopDrag;
//
createEmptyMovieClip ("rectangle2_mc", 2);
rectangle2_mc._x = 50;
rectangle2_mc._y = 50;
with (rectangle2_mc) {
beginFill (0xffcc00, 100);
moveTo (0, 0);
lineTo (400, 0);
lineTo (400, 100);
lineTo (0, 100);
endFill ();
}
rectangle2_mc.onPress = startDrag;
rectangle2_mc.onRelease = rectangle2_mc.onReleaseOutside = stopDrag;方法二:method2.fla
//ActionScript 2.0
//Flash Player 6(含)以上
//必须为ActionScript 2.0
var rect1:Rectangle = new Rectangle (this, 10, 10, 200, 200, 0xff0000, 1);
var rect2:Rectangle = new Rectangle (this, 50, 50, 400, 100, 0xffcc00, 2);
delete rect1;
delete rect2;
delete Rectangle;
此方法必须得有一个Rectangle.as与之同路径。Rectangle.as内容如下:
class Rectangle extends MovieClip {
private var rectangle_mc:MovieClip;
public function Rectangle (target:Movi...
完整阅读本文...]]>
做好的成品如下:大家可以用鼠标将上面的图像碎片拖到下面的方框内的合适位置,为方便大家找位,游戏给出了有一定透明度的原图作为参考。大家可以发现这个游戏还设计了一个“吸附”功能,能够让你将拼图片轻松地整齐排列,同时游戏还会自动判断拼图是否全部正确完成。
制作步骤:
第一步:图片的准备工作
既然是拼图,当然首先就要有图片了,我找到的是一幅320*240象素的jpg图片,通过Fireworks将其切割成12块(每块80*80px),然后分别保存成12个jpg小图片备用,名称最好有一定规律,比如我将他们分别命名为pic1~pic12,当然你也可以利用其他图象处理工具来实现这一步。
第二步:建立Flash文件
打开今天的主角――Flash,通过菜单Modify Document...或Ctrl+J打开Document Properties面板(由于盗匪使用的是Flash
MX,一些快捷键可能与Flash 5的有所不同,不过盗匪会尽量给出Flash 5中相应的快捷键的,这个在Flash 5中的快捷键是Ctrl+M),将画面大小改为400*600px,其他可以保持默认值。
第三...
完整阅读本文...]]>
代码:
// create textfield
this.createTextField("txtField", this.getNextHighestDepth(), 10, 10, 300, 100);
txtField.html = true;
txtField.htmlText = "<font size='60'>Hello World!</font>";
txtField.textColor = 0x0055CC;
// set new antialias mode
txtField.antiAliasType = flash.text.TextRenderer.AntiAliasType.ADVANCED;
// create shadow filter
var dropShadow = new flash.filters.DropShadowFilter();
dropShadow.blurX = 5;
dropShadow.blurY = 5;
dropShadow.distance = 3;
dropShadow.angle = 35;
dropShadow.quality = 2;
dropShadow.alpha = 0.5;
// apply shadow filter
txtField.filters = [dropShadow];
7。按下ctrl+shift+f12,找开发布设置
完整阅读本文...]]>
今天的例子是最为简单的一个得到象素并复制到一个新对象中的操作,不过有了这个功能,位图操作的可能性就无限量了。
Flash代码:
import flash.display.*;
import flash.geom.*;
//导入本例所需要的二个Pageage
var sourceBD:BitmapData = BitmapData.loadBitmap(”mypic”);
//创建bitmapData对象以用于存放源图片,源图已在库中并命名为mypic
var mc:MovieClip = this.createEmptyMovieClip(”mc”, this.getNextHighestDepth());
mc._x = 25;
mc._y = 100;
mc.attachBitmap(sourceBD,mc.getNextHighestDepth());
//在Stage上创建空MC,并使用MC的attachBitmap方法将刚才创建的bitmapData对象读取到这个MC中
var targetBD:BitmapData = new BitmapData(230, 230, false, 111111);
//创建另一个bitmapData对象作为复制目标
var mc2:MovieClip = this.createEmptyMovieClip(”mc”, this.getNextHighestDepth());
mc2._x = 290;
mc2._y = 100;
mc2.attachBitmap(targetBD,mc.getNextHighestDepth());
//同样在Stage上创建空MC用于存放复制目标
mc.onRollOver = function() {
//当鼠标移动到拥有源图的MC上时,开始CopyPixels
copyPixels();
};
完整阅读本文...]]>
打开Flash 8,在Stage中导入要操作的图片,并为MC其命名为myPic_mc;
在第一帧上使用以下代码:
import flash.filters.BlurFilter;
//导入BlurFilter 的package
var myBlurfilter:BlurFilter = new BlurFilter(60, 60, 1);
/*
建立flash.filters.BlurFilter的实例,使用方法为
var myInstanceName: BlurFilter= new BlurFilter(blurX:Number, blurY:Number,
quality:Number);
blurX和blurY模糊值分别指的是画面横向和纵向的模糊强度,范围从1~100;
quality指的是模糊渲染的质量,范围从1~15,默认值为1质量较低,2质量居中,当为3时
质量接近Photoshop中的高斯模糊(Gaussian
blur),已属较高质量,在大多数应用当中使用1~3的值即可,太高将影响运算效率。
*/
var filterArray:Array = new Array();
filterArray.push(myBlurfilter);
//向filterArray数组新增一个滤镜对象
myPic_mc.filters = filterArray;
/*
在新版Flash 8中,movieClip Class已经增加新的方法filters用于应用滤镜对象,但
filters方法不直接接收滤镜对象,必须先将滤镜对象装入一个对象数组,再应用
于MovieClip,当然,装入对象数组后的滤镜对象也可以通过数组直接修改滤镜对象的属性,例如:
filterArray[0].blurX=10;
filterArra...
完整阅读本文...]]>
1.脚本助手—标准模式2.0
重写的原有flash mx 版时的标准模式,现在为标准模式2.0,并增加一些功能,flashmx2004时是没有标准模式,现在flash 8 里又增添了标准模式,主要针对不原手动输入代码的开发人员或是设计师。

2.UNDO/REDO 操作设置
在flash mx 2004版时我们在撤消操作时,会一步一步的将所有的撤消包括书写的代码和对象,许多人都在抱怨些功能,现在改为可以供选择的两种方式,一种是文档级别,比如只撤消代码,还有一种是对象级别,可以只撤消场景中的对象操作。

3.增强的text工具
增强了text工具,现在你可从左边也可以人右边来回的调整文本框的大小了。
4.增强的library库
首先要说的是现在的库当重新启动程序,它已经可以停在你之前所放的位置上了,并且可保存你对库面板的设置,如果你打开多个源文件,可以通过下拉菜单在一个库面上进行切换,同时你可以锁定某一个库。

5.Tabbed 面板
现在FLASH8 的面板可以让你自由的将它们成组放在一个面板上,可以使用tab键来切换,可以把你喜欢的常用的工具放在一个面板上,你还可以为他们重新命名。

6.stage 粘贴板扩展
在一些大的项目中经常需要用到超过stage的大图,从而难以看出场景中的物件与stage边的距离,现在你可以很容易的看出它们间距离,只将拖动对象靠近stage边,它就会自动的去适应位置。 ...
完整阅读本文...]]>
Macromedia Studio 8 家族成员包括:
Dreamweaver 8
Flash Professional 8
Fireworks 8
Contribute
Flash Paper
图形与网页设计者使用Flash创建网页动画或其它网页内容已经有许多年的历史,这些生动的内容为用户提供了更丰富的网络浏览体验。然而即使在今天宽带如此普及的情况下,一些体积较大的文件经常会需要较长的下载时间,这是现在的Internet用户所不愿忍受的。于是Macromedia在新版本的Flash
8中引入了几种高级技术,使得即使是内容较多的动画在最终完成时也只生成较小的文件。下面介绍一下新版的Flash 8中几大重要的新功能。
一、实时渲染滤镜
其中一种非常棒的技术是,Macromedia减轻了Flash Player 8的渲染工作,在Flash文件中使用标签,Flash Player
8现在可以在用户与Flash文件交互时实时渲染滤镜。
这意味着Macromedia已经能够合并内建的滤镜效果,象阴影、模糊、内外发光、倒角、渐变倒角、颜色调整,以获得更丰富的用户体验。这些滤镜或可视效果能够被应用到影片剪辑(MovieClips)和文本域,当在网页中运行时,通过播放器渲染并显现出来。

二、运行时位图缓冲
Macromedia通过另外的方式将Flash和Flash player捆绑在一起以提高性能。另一种新功能叫做位图缓冲,允许设计者将任何影片剪辑符号指定为一个位图,在使用Flash
player运行时获得缓冲,以提高影片播放速度。
影片剪辑符号可以使用属性检查器或ActionScript指定为位图,这些指令在运行时传给播放器,节省了通常情况下处理器用来计算矢量图形的时间。

即便对象作为位图被缓冲,对象的矢量数据仍然被保留了下来,允许设计者在任何时候将...
完整阅读本文...]]>
FLASHMX2004 AS 平铺背景
对于网站designer来经常要用到平铺背景,一般习惯上我们用的方法在PS中先将背景平铺好,然后保存成图,导入到FLASH中,这种方式固然可以,但缺点有两个,一个是文件的大小会比较大,另一个问题是当想要变化文件的大小时,背景图片要重新在PS中来做,在导入。现在我们要研究的如何用ActionScript来平铺背景。
演示:
我们需要用到的素材,我们只需要象在PS中平铺一样,一小块底纹素材。如下图

如果你想要更多的图片类似底纹可以在网上搜索,或是去这里pattern
1.首先创建一个新的动画文件,设置宽为400,高为300,当然这是本例的大小,你也可以设置想要的大小。
2.现在你需要做的是将我们选定的底纹小图导入到FLASHMX2004的场景中,选择文件导入,选择小的纹理图片。
3.导入图片后,如果你直接导入到场景中则选中小图,按下F8,将图片转换为影片剪辑。将影片剪辑名命名为tile,如图:

4.此时不要关闭对话...
完整阅读本文...]]>
到目前为止,MIDI 一直是移动设备上的标准声音格式。虽然这种格式很简单,但它在音质和能够产生的音效数量和类型上非常有限。通过
MIDI 产生的音效取决于作为移动设备芯片一部分的波形表。与数字音频不同,MIDI 文件中不包含任何声音,它包含的是一套指令,用以触发手机芯片内的音效。相反,数字音频包含了声音本身,这声音可以是广播、语音或者震动音。数字音频的音质取决于录音或存储时的采样率。我们大多数人都对
MP3 数字音频格式很熟悉。比特率或采样率越高,音质就越好。但是,较高的比特率也意味着文件更大。
本文说明的技巧涉及数字音频文件的分层,可为数字音乐人所采用。在 Flash 中,您可以重用视觉元素,从而避免增大导出的 SWF 电影,对音频也可以这样做。通过导入单独的元素或乐曲的一部分(低音、鼓...
完整阅读本文...]]>