分享
 
 
 

Flash AS代码编写国庆主题图案焰火动画

王朝学院·作者佚名  2009-10-02
窄屏简体版  字體: |||超大  

本文使用Flash和开源粒子系统类库Flint制作国庆主题图案的焰火动画。

完成效果如下。

Flint简介:Flint是一个基于AS3.0的开源的粒子系统类库,让我们在不需要完全接触全部代码的情况下用自己的编码风格来轻松的扩展它,目前只有基于AS3.0的版本。

焰火效果原理:首先介绍一下基于Flint 创建焰火效果的原理,我们的效果将从屏幕的下方升到屏幕的上方,然后飘落在屏幕的下方。组成焰火的每一个小点,都是粒子系统中的一个粒子。

准备素材

(1)准备1张背景图片

(2)在Photoshop中制作1张透明背景,白色字体的300*80像素文字图片,保存为png格式。

制作过程

1、新建Flash文档,舞台为550*400像素,帧频30,背景颜色为黑色。然后把背景和文字图片导入到库中。右键单击文字图片,选择属性做链接,类名为logo,基类flash.display.BitmapData。

2、制作一个探照灯效果的影片剪辑。

3、把图层1改名为“探照灯”,打开库拖探照灯影片剪辑到舞台,放在合适的位置。

4、添加图层2改名为“探照灯”,拖入探照灯影片剪辑,修改一下方向,放在合适的位置。

5、添加图层3改名为“背景”,打开库拖入背景图片,右键单击图片转换为影片剪辑。在属性面板中把透明度调到70%到80%左右(视背景图片而定)。

6、添加图层4改名为as,单击第1帧,打开动作面板输入代码:

//导入类

import org.flintparticles.common.actions.*;

import org.flintparticles.common.counters.*;

import org.flintparticles.common.energyEasing.Quadratic;

import org.flintparticles.common.events.EmitterEvent;

import org.flintparticles.common.initializers.*;

import org.flintparticles.twoD.actions.*;

import org.flintparticles.twoD.emitters.Emitter2D;

import org.flintparticles.twoD.initializers.*;

import org.flintparticles.twoD.renderers.*;

import org.flintparticles.twoD.zones.*;

//创建2D粒子发射器

var emitter:Emitter2D = new Emitter2D();

//计数器(每一秒中创建5000个粒子)

emitter.counter = new Blast(5000 );

//初始化(粒子的初始位置,速度,图片和颜色)

emitter.addInitializer( new ColorInit( 0xFFFF3300, 0xFFFFFF00 ) );

emitter.addInitializer( new Lifetime( 8 ) );

emitter.addInitializer( new Position( new DiscZone( new Point( 0, 0 ), 8 ) ) );

var bitmapData:BitmapData = new Logo( 300, 80);

emitter.addInitializer( new Velocity( new BitmapDataZone( bitmapData, -152, -380 ) ) );

//向发射器中添加动作,让每一帧都更新粒子的位置

emitter.addAction( new Age( Quadratic.easeIn ) );

emitter.addAction( new Fade( 1.0, 0 ) );

emitter.addAction( new Move() );

emitter.addAction( new LinearDrag( 0.5 ) );

emitter.addAction( new Accelerate( 0, 70 ) );

emitter.addEventListener( EmitterEvent.EMITTER_EMPTY, restart, false, 0, true );

//定位粒子在舞台的上方

var renderer:PixelRenderer = new PixelRenderer( new Rectangle( 0, 0, 550, 400 ) );

renderer.addFilter( new BlurFilter( 2, 2, 1 ) );

renderer.addFilter( new ColorMatrixFilter( [ 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0.96,0 ] ) );

renderer.addEmitter( emitter );

addChild( renderer );

emitter.x = 250;

emitter.y = 300;

emitter.start( );

function restart( ev:EmitterEvent ):void

{

Emitter2D( ev.target ).start();

}

7、完成后保存在一个目录下,然后下载Flint粒子类库,将文件夹org解压到同一目录下(这个文件夹就是Flint粒子类库),现在就可以测试了。美工部分大家可以做一些光景、气球放飞等效果,加入场景中,我想大家一定比我做得好。各种参数可以试着改动一下数据,再看一下效果。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有