欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

Flash教程:纯AS代码制作的燃烧的火焰效果

时间:2022-10-14 10:11:41 其他范文 收藏本文 下载本文

以下是小编整理的Flash教程:纯AS代码制作的燃烧的火焰效果,本文共10篇,希望能够帮助到大家。

Flash教程:纯AS代码制作的燃烧的火焰效果

篇1:Flash教程:纯AS代码制作的燃烧的火焰效果

背景

var mcs:MovieClip = createEmptyMovieClip(“query”, -1);

with (mcs) {

beginFill(0x000000,100);

lineStyle(0,0x000000,0);

moveTo(0,0);

lineTo(Stage.width,0);

lineTo(Stage.width,Stage.height);

lineTo(0,Stage.height);

lineTo(0,0);

endFill;

}

制作影片剪辑实例

import flash.geom.*;

var McR:Number = 40;

var McA:Number = 60;

var CreaMovie:MovieClip = this.createEmptyMovieClip(“CreaMc”, 0);

with (CreaMovie) {

fillType = “radial”;

colors = [0xFFFF00, 0xFFFF00];

alphas = [McA, 0];

ratios = [0, 0xFF];

matrix = new Matrix();

matrix.createGradientBox(McR,McR,0,0,0);

beginGradientFill(fillType,colors,alphas,ratios,matrix);

moveTo(0,0);

lineTo(0,McR);

lineTo(McR,McR);

lineTo(McR,0);

lineTo(0,0);

endFill();

}

CreaMovie._visible = false;

火效果

var McNum:Number = 1;

var McMore:Number = 200;

var McRandom:Number = 6;

var McY:Number = 4;

var Mc_x:Number = Stage.width/2;

var Mc_y:Number = Stage.height/2+Stage.height/4;

var Mc_more:Number = 100;

var Mc_scal:Number = 50;

flame = function(){;

var scale:Number=random(Mc_scal)+1;

var flames:MovieClip=CreaMovie.duplicateMovieClip(“flames”+McNum,McNum,{_x:Mc_x,_y:Mc_y,_alpha:Mc_more/2,_xscale:scale,_yscale:scale});

flames.blendMode = “add”;

flames.fast=Math.floor(scale/10);

flames.action=(random(2)==1)?1:-1;

flames.scal=10-flames.fast;

flames.n=flames.s=1;

flames._r = flames._g = 255;

flames._b =0;

flames.gs=(10-flames.scal+2)*3;

flames.onEnterFrame=function(){

this._x+=this.fast*this.action*this.n*this.s;

this._y-=McY;

this._xscale+=this.scal*this.n*this.s;

this._yscale+=this.scal*this.n*this.s;

this._alpha+=10*this.n*this.s;

this._g-=this.gs;

if(this._g<=0){

this._g=0;

}

new Color(this).setRGB(this._r << 16 | this._g << 8 | this._b);

if(this._xscale>=Mc_more){;

this.n=-1;

this.s=0.2;

};

if(this._alpha>=Mc_more){;

this._alpha=Mc_more;

}else if(this._alpha<=random(20)){;

this.removeMovieClip();

delete this.onEnterFrame();

};

};

if(McNum>=McMore){;

McNum=0;

};

McNum++;

};

setInterval(flame,10);

篇2:Flash教程:制作无限回廊效果

准备6个100 × 100的图片

1、新建Flash 文件,设置属性: 500 × 200 ,背景黑色,

2、从菜单选择文件-> 导入-> 导入到舞台。选择你要使用的图片。图1:

3、垂直地对舞台的中心放置图片。平均、水平地隔开他们。使用对齐面板。图2、图3:    4、将图片转换成影片剪辑:单击舞台上最左边的图片转换成影片剪辑。命名为”My Image 1 ″而且设定注册点为居左中位置。

5、重复这个步骤,将其它的图片全部转换为影片剪辑。命名为 “ My Image 2 ″ ”,My Image 3 ″ ... 依此类推。图4:

现在你的库如图5:    6、双击”My Image 1″影片剪辑,进入My Image 1的编辑状态,添加 as图层。图6:    选中第1帧,在动作面板中输入代码:

//Import TweenMax

import gs.*;

//Set the initial state for this movie clip

TweenMax.to(this, 0.5, {alpha: 0.4});

//Add mouse over & out event listeners

this.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);

this.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);

//This function is called when mouse is over this movie clip

function mouseOverHandler(e:Event):void {

//Tween the alpha

TweenMax.to(this, 0.5, {alpha: 1});

}

//This function is called when mouse is out of this movie clip

function mouseOutHandler(e:Event):void {

//Tween the alpha

TweenMax.to(this, 0.5, {alpha: 0.4});

}

重复这个步骤到其它的影片剪辑。(当移动鼠标在一个图片上的时候,添加一个透明度效果。可以修改成放大或其它效果,自行的试验一下。)

7、前期工作已全部完成,现在开始创建无限循环,

在主时间轴,选择所有的六个影片剪辑。将他们转换成影片剪辑,命名 “ Gallery Images ”。图7:

8、为了使图片有无限循环的效果,我们需要舞台上的 “ Gallery Images ” 影片剪辑的另一个实例。因此在舞台上复制(选中Gallery Images,按住Ctrl键拖拽)另外的一个 “ Gallery Images ” 影片剪辑,放置在第一个实例后面,使他们水平地排列。图8:    9、选中舞台上的 “ Gallery Images ” 影片剪辑的两个实例。将他们转换成影片剪辑,命名 “ Infinite Gallery ” 设定注册点为左居中。图9:    10、在属性面板填入实例名字 “ infiniteGallery” 。

11、添加as层,打开动作面板输入代码:

//Import TweenMax

import gs.*;

//Save the horizontal center

var centerX:Number = stage.stageWidth / 2;

//Save the width of the whole gallery

var galleryWidth:Number = infiniteGallery.width;

//Speed of the movement (calculated by the mouse position in the moveGallery() function)

var speed:Number = 0;

//Add an ENTER_FRAME. listener for the animation

addEventListener(Event.ENTER_FRAME, moveGallery);

function moveGallery(e:Event):void {

//Calculate the new speed

speed = -(0.05 * (mouseX - centerX));

//Update the x coordinate

infiniteGallery.x+=speed;

//Check if we are too far on the right (no more stuff on the left edge)

if (infiniteGallery.x>0) {

//Update the gallery’s coordinates

infiniteGallery.x= (-galleryWidth/2);

}

//Check if we are too far on the left (no more stuff on the right edge)

if (infiniteGallery.x<(-galleryWidth/2)) {

//Update the gallery’s coordinates

infiniteGallery.x=0;

}

}

这一段代码负责无限循环。

12、全部完工,测试影片。

更多内容进入:

精品学习网IT教育频道

篇3:PS简单制作火焰效果

这篇教程教的朋友们用PS简单制作火焰效果,教程制作的火焰效果很漂亮,制作难度中等。这里感谢教程作者Yoki的分享转发过来和的朋友们一起学习了。我们先来看看最终的效果图吧:

FEVTE编注:更多PS教程讨论交流和PS作品请到论坛PS交流区,地址:bbs.fevte.com/forum-51-1.html

具体的制作步骤如下:

步骤一:新建一个大小合适的背景,填充黑色.导入图形或者文字.

步骤二:外发光

步骤三:颜色叠加是为了后期能更好的调整颜色。

步骤四:内发光,可以做出一些通透的效果。

步骤五:光泽这步挺重要的,整体的效果就在这,可以试着调整数值看看有哪些变化。

步骤六:用蒙版把上面渐隐,

步骤七:用液化的向前变形工具,把画笔调整到合适的大小开始对一些主要的地方进行扭曲。(一定要慢,快的画容易抹糊了。)

步骤八:打开合适的火焰图片,进入通道面板,选择红色层。CTRL+左键点击绿色层载入高光区。回到图层面板,适用移动工具,将选中的区域移动到刚才的文字文件中,将火焰置于文字层上方。(注意:这里我们是利用通道来载入选区。在移动的时候请确保所有通道都是可见的。否则可能移过去的是黑白的)

步骤九:把火焰素材导入,模式选滤色,把合适的火焰放在合适的位置,多余的可以用蒙版遮掉。(要有耐心,一点点的把合适的火焰叠加上去,效果就出来了。这也是关键的一步。)

步骤十:在背景图层的上面新建一个图层,在中心画一个椭圆形的选取,根据你画布的像素进行羽化。填充颜色。(这步是为了让整个画面更加的融合,也可以突显主题。)

最后一步:整体的颜色调整,细节调整,部分地方可以进行锐化处理,显的有层次感。(其实自己做的还不够细致阿。)

FEVTE编注:更多PS教程讨论交流和PS作品请到论坛PS交流区,地址:bbs.fevte.com/forum-51-1.html

篇4:Flash AS教程:制作物理课件电流效果

在学习中遇到问题可以到 论坛 发贴交流!

先来看效果:

步骤:

1、运行flash mx,设置文档属性为黑色背景,尺寸200*200像素,

2、新建一个影片剪辑命名为“方框”。利用举行工具,绘制一个1.6*1像素的无边框矩形,进行渐变填充。如图1所示。

图1:绘制方框元件

3、导入一电流通过的模拟声音,并把此声音文件放置在影片剪辑“声音”中。

4、回到主场景,把影片剪辑“方框”拖放到场景中。在下面的属性面板中,给影片剪辑“方框”命名为“d”。并延长至第3帧。如图2所示。

图2:影片剪辑得分身名

[next]

5、先建一个图层,命名为as,

在第1帧添加as:

setProperty(“d”, _visible, “0”);//摄制影片剪辑“d”在第1帧不可见

第2帧添加as:

y=100; //初始化变量

for(i=1;i<=250;i++) {

y =y+ random(3)-1;

duplicateMovieClip(“d”, “d” add i, i);

setProperty(“d” add i, _x, i);

setProperty(“d” add i, _y, y);

}

第3帧添加as:

gotoAndPlay(2); //做一个小循环

6,新建一个图层命名为“声音”,把刚才制作的影片剪辑“声音”拖放到场景中,并延长至第3帧。

7,测试,保存。请参看源文件

对本文感兴趣的朋友可以到这里提交作业,老师会为作业点评、加分:bbs.jcwcn.com/viewthread.php?tid=216610

篇5:Flash时光隧道效果制作

这个效果原理非常简单,我们向大家介绍了一个在x轴,y轴复制随即旋转的效果,那么这个效果其实是x轴y轴缩放比例的复制与随机分布。

效果演示:

具体步骤

1, 运行flash mx。文档属性设置为300*200像素,背景黑色。

2, 新建一个影片剪辑1,在编辑区里面绘制一个矩形。使用渐变填充,把右侧滑块的透明度设置为0,进行填充。利用鼠标工具把举行的左侧拖拽成圆角。设置举行的旋转角度以及距离影片剪辑中心点的位置。如图1所示。

3, 新建一个影片剪辑2,把影片剪辑1拖放到编辑区。在第7帧,第14帧插入关键帧,并移动影片剪辑1的运动位置为斜上方运动。设置第1帧,第7帧,第14帧的影片剪辑1的透明度分别为27%,100%和0%。使它逐渐消失。4,  返回到主场景,把影片剪辑2拖放到场景中,在属性面板中设置他的实例名称为mc,并调整他的大小。如图3所示

5,  f5键延长图层1至第3帧。新建一个图层,分别在第1帧,第2帧和第3帧插入空白关键帧。如图4所示。

6,  选择图层2的第1帧,打开as面板,添加as语句:n=1;   //设置一个变量,并给他初始化赋值为1,

7,  在第2帧中添加as语句:

if (n<=50) {

//如果n小于等于50,则执行下面的语句。

duplicateMovieClip(mc, “mc”+n, n);  //复制名称为mc的影片剪辑,并把它命名为”mc”+n,复制到对应层中。

setProperty(“mc”+n, _xscale, random(60)+20);

//改变“mc”+n的大小,random(60)+20是取随机变量20~80

setProperty(“mc”+n, _yscale, random(60)+20);

setProperty(“mc”+n, _rotation, random(360));

//改变“m”+n的角度,random(360)就是随机取0到360度

_root.mc.visible=0;  //设置原mc不可见。

n++;//N累加

}

8,  第3帧添加as语句:gotoAndPlay(2);//循环播放第二帧

篇6:PS滤镜制作火焰效果

本教程给网的朋友们介绍常用滤镜制作火焰效果方法,操作的时候用到的滤镜比较多,大家可以适当了解下各种滤镜的效果特性。大致纹理制作好后再调颜色。可以适当添加一些火苗来装饰。

原图

最终效果

FEVTE编注:更多PS滤镜教程讨论交流和作业提交请到论坛PS滤镜交流区,地址:bbs.fevte.com/forumdisplay.php?fid=51&filter=type&typeid=87

具体的制作步骤如下:

1、打开原图。

2、按CTRL+L调整色阶,通道选择蓝。

3、再按CTRL+M调整曲线。

调整完后的效果。

4、按CTRL+J复制一层,得到图层1,对图层1执行“滤镜>模糊>高斯模糊”。

5、执行“滤镜>风格化>照亮边缘”,

6、把图层1模式改为滤色。

7、对图层1执行“滤镜>扭曲>海洋波纹”。

8、按CTRL+U调整色相饱和度,记得勾选着色。

9、用橡皮擦擦掉剑柄那些火焰。

10、现在添加火焰,打开火焰素材,把它拖进图层1上面。

11、把火焰素材的模式改为滤色。

12、按CTRL+T调整火焰素材的大小,角度,用移动工具移到剑上。

最好复制多几个火焰图层添加到剑上就可以了。完毕。

FEVTE编注:更多PS滤镜教程讨论交流和作业提交请到论坛PS滤镜交流区,地址:bbs.fevte.com/forumdisplay.php?fid=51&filter=type&typeid=87

篇7:QQ空间代码:QQ空间Flash模块:开场效果

QQ空间代码:QQ空间Flash模块:开场效果

以下是QQ空间官方的.开场效果FLASH地址:

imgcache.qq.com/qzone/space_item/orig/2/4386.swf

imgcache.qq.com/qzone/space_item/orig/9/4377.swf

imgcache.qq.com/qzone/space_item/orig/8/4376.swf

imgcache.qq.com/qzone/space_item/orig/7/4375.swf

imgcache.qq.com/qzone/space_item/orig/7/4391.swf

imgcache.qq.com/qzone/space_item/orig/8/4392.swf

imgcache.qq.com/qzone/space_item/orig/14/4382.swf

imgcache.qq.com/qzone/space_item/orig/13/4381.swf

imgcache.qq.com/qzone/space_item/orig/12/4380.swf

imgcache.qq.com/qzone/space_item/orig/11/4379.swf

以下是我收集的部分开场效果FLASH地址,大家自己看,喜欢就拿去。

qqjia.com/learn/q-zone/kc81/1.swf 盛宴

qqjia.com/learn/q-zone/kc81/2.swf 将爱

qqjia.com/learn/q-zone/kc81/3.swf 欢迎字效果

qqjia.com/learn/q-zone/kc81/4.swf

qqjia.com/learn/q-zone/kc81/5.swf

qqjia.com/learn/q-zone/kc81/6.swf

qqjia.com/learn/q-zone/kc81/7.swf

qqjia.com/learn/q-zone/kc81/8.swf

qqjia.com/learn/q-zone/kc81/9.swf

qqjia.com/learn/q-zone/kc81/10.swf

qqjia.com/learn/q-zone/kc81/11.swf

qqjia.com/learn/q-zone/kc81/12.swf

篇8:Flash教程:连连看数据生成AS代码

比如连连看的数据生成,

比较简单,这里不包括判断是否一定有解的部分,只是一个随意生成地图(给定行,列,每种图片的生成个数),没有思路的可以参考一下,高手也可以指正。

//生成地图的类

package src.ww.llk.map

{

import mx.collections.ArrayCollection;

public class MakeMap

{

private var mapParam:MapParam = null;

private var types:ArrayCollection = null;

//保证取得的数据不被重取

private var flags:ArrayCollection = null;

public function MakeMap(param:MapParam):void {

mapParam = param;

initData;

}

// 初始化必要的数据

private function initData():void {

types = new ArrayCollection();

var typeNum:int = Math.floor(mapParam.cols*mapParam.rows/mapParam.numberPerType);

for(var i:int=1;i<=typeNum;i++) {

for (var j:int=0;j

types.addItem(i);

}

}

var yushu:int = mapParam.cols*mapParam.rows - typeNum*mapParam.numberPerType;

for (var yI:int = 0; yI

types.addItem(1);

}

}

//随机生成地图

public function make():Array {

flags = new ArrayCollection();

for(var i:int=0;i

flags.addItem(i);

}

var mapData:Array = new Array();

var rowData:Array = null;

var col:int = 0;

rowData = new Array();

rowData.push(0);

for(col = 0;col

rowData.push(0);

}

rowData.push(0);

mapData.push(rowData);

for(var row:int = 0;row

rowData = new Array();

rowData.push(0);

for(col = 0;col

rowData.push(getType());

}

rowData.push(0);

mapData.push(rowData);

}

rowData = new Array();

rowData.push(0);

for(col = 0;col

rowData.push(0);

}

rowData.push(0);

mapData.push(rowData);

return mapData;

}

// 随机取得单个数据

private function getType():int {

var ran:int=-1;

var ret:int = 0;

ran = randomIndex();

var index:int = int(flags.getItemAt(ran));

flags.removeItemAt(ran);

ret = int(types.getItemAt(index));

return ret;

}

private function randomIndex():int {

return Math.random() * (flags.length - 1);

}

}

}

参数类,就是一个bean,

package src.ww.llk.map

{

public class MapParam

{

public var rows:Number=0;

public var cols:Number=0;

public var numberPerType:int=4;

}

}

测试类:

public function test():void {

var param:MapParam = new MapParam();

param.rows = 6;

param.cols = 6;

param.numberPerType = 4;

var maker:MakeMap = new MakeMap(param);

var map:Array = maker.make();

for each(var rowData:Array in map) {

var rowStr:String = “”;

for each(var cell:int in rowData) {

rowStr += cell + “ ”;

}

trace(rowStr);

}

}

运行结果:

0 0 0 0 0 0 0 0

0 3 3 1 1 7 6 0

0 6 8 9 7 9 5 0

0 2 4 4 4 1 7 0

0 5 8 4 9 5 8 0

0 2 6 2 3 1 7 0

0 6 2 5 3 8 9 0

0 0 0 0 0 0 0 0

更多内容进入:

精品学习网IT教育频道

篇9:Flash制作颜色渐变效果

渐变

先看看效果了:

点击这里下载源文件

AS代码:

for (n=0; n<=200; n++) {

attachMovie(“ball”, “ball”+n, n);

this[“ball”+n]._x = 100+n;

y = Math.sin(n*Math.PI/100)*50+150;

this[“ball”+n]._y = y;

myclor = new Color(this[“ball”+n]);

myclor.setRGB(255 << 16 | Math.floor(255*(y-100)/100) << 8 | 0);

}

步骤:

1、插入一movieclip,命名为ball,

Flash制作颜色渐变效果

在MC中用椭圆工具画一个正圆。

2、在库中,右键选择链接,使MC的标志符为ball。

3、在场景中的第一桢中加入如上的AS。

原理就是通过改变y轴坐标来改变RGB中的G的成分。当然也可以改变其他成分。

篇10:FLASH制作爆炸效果动画

效果演示:

点击这里下载源文件

制作步骤:

很久以前看到了此篇教程,但是一直保存了其源代码,在网上查了半天没查到该教程,所以只有自己重新给大家做一个教程了!

首先,我们要打开FlashMX 2004,新建一场景动画,CTRL+J打开文档属性面板,设背景为黑色、帧速为24~48(随你高兴了,自己试试不同的帧速,只要自己觉得满意就行。)

1、按住Shift键在主场景中画一无边框正圆(大小在50×50象素左右),打开混色器面板在填充样式中选中放射性填充。将左右两个色块都设为白色,并将其外(右)侧的色块Alpha值(透明度)设为0。

2、选中这个圆,按F8键转换为图形符号,命名为“圆”。

3、Ctrl+F8新建一电影剪辑符号,命名为“运动的圆”。并将刚才做好的图符拖入进来。打开对齐面板使其中心对齐。

4、在第3帧按F6键插入一关键帧,并将“圆”向上(向左向右向下都行,随你高兴)移动一块(大约半个身位),选中圆,在属性面板中的“颜色”栏中选择高级选项,点击右边“设置”按钮进入高级设置选项。设置如下:这时,“圆”符号成黄色。

5、在第5帧按F6键插入一关键帧,将“圆”再次向上移动一块(约3/4个身位),并用第4步的方法将其改为红色(将G)与B)值都设为-255)。

6、再在第11帧按F6键插入一关键帧,将“圆”再次向上移动一块(约一个身位)并改为灰色。

7、第13帧处按F6键插入一关键帧,将“圆”再次向上移动一块(约一个半至两个身位)并将其Alpha属性设为0(即完全透明)。

8、选中这一层,为这层设置运动动画,

9、回到主场景中,把“运动的圆”拖入进来,把层的名字改为“ball”,选中圆在属性面板中将其命名为“ball”,为以后的编程做准备。

10、在主场景中新建一层,命名为“Action”,用来写代码。

i=1

while(i<=80){

duplicateMovieClip(“ball”,“ball”+i,i);

setProperty(“ball”+i,_rotation,random(360));

i++

}

_root.ball._visible=0

上面的代码的意思是将“ball”复制80份,并将其随机旋转一个角度,这样“ball”就能向四面八方运动了。最后将原“ball”隐藏。

11、在“ball”电影符号中加入Action:

onClipEvent(load){

this._x+=random(50)

this._y+=random(50)

this._yscale=random(50)+50;

}

其意义为:电影被调入时,在X、Y轴的坐标随机增加(1~50)个象素,并将其在Y轴的比例随机改变50%左右。

12、Ctrl+回车测试一下,怎么样,Cool不Cool。

13、爆炸效果到这就做好了,但如果我们想把这种效果应用到自己的Flash动画中还要在“ball”电影符号中的最后一帧中加入如下语句:

removeMovieClip(this);

_root.gotoAndPlay(1);

否则的话,爆炸效果会一直持续,只到你关闭Flash播放器,这可不是我们要的,那句程序就是用来卸载被复制的影片的。

flash课件制作教程

CDR制作编织效果教程

简单的Flash鼠标跟随制作教程

表格制作教程

PS+FLASH制作马赛克效果

制作多语言支持的Flash应用程序

wps演示教程:最简单的卷轴效果制作过程

ppt动画制作教程

ppt课件制作教程

燕子折纸制作教程

《Flash教程:纯AS代码制作的燃烧的火焰效果(共10篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档