Flash as中烟雾特效功能的实现
这是整理的在Flash as中实现烟雾特效的制作,借此希望能结交一些FLASH爱好者和美工高手,好在遇见问题一起互相帮助.
总共分为6部:
1.ctrl+n新建一个文档,ctrl+J打开文档属性设置为390*300,桢频为20fps(这里提一下 现在FALSH一般为20-30之间比较合适,个人觉得)
2.ctrl+r把素材导入到舞台,按F8转换为元件,命名为GUN图形元件.
3.ctrl+f8建立一个clip,命名为apuff.(这个剪辑是控制烟雾的摆动,通过这个修改可以弄出很多不错的效果,如火车启动,火山烟雾等)
4.进入apuff剪辑,这里弄一个左右摇摆上升的烟雾,因此
按O画一个圆,给它放射性渐变填充;
接着第60桢按F6插入关键桢
同理分别在15 30 45桢插上keyframe
点15桢,选取圆向左移动一个距离.反之在45桢上右移一个距离 然后分别在两两关键桢之间点时间轴,在属性补间选取形状渐变
然后在15 35 45桢上分别设置缓动为-100 100 -100
最关键的地方:CTRL+L打开库面板 右键apuff剪辑 选属性菜单 点高级 把clip关联起来 标识符为apuff
选中连接: 为AS导出 和第一桢导出
5.CTRL+F8 建立一个名为smoke的剪辑
进入smoke剪辑, 在第一桢上 按F9打开action面板
输入如下代码 上次网友说我代码无注释,这次简单写下注释)
AS代码:
// ------------------------------------------------------------------------------
// ActionScript实现烟雾效果 - minski's blog: http://www.minski.cn
// ------------------------------------------------------------------------------
var fadeSpeed =1; // 初始化烟雾褪色变量.
var floatUpSpeed = 2; // 初始化浮动速度.
// 每一桢生成烟雾
this.onEnterFrame = function(){
// 取得下一个可用的深度.
d = this.getNextHighestDepth();
// 给apuff附上一束烟.(郁闷,本人没有文化打“束”字打了半天 - -|||)
aPuff = attachMovie('aPuff','aPuff'+d,d);
// 初始化apuff的_xscale & _yscale.
aPuff._xscale = aPuff._yscale = 10;
// 给生成的烟雾小随机化
aPuff._x = Math.random() * 5;
// 实现烟雾的粒子效果(随机打散数)
aPuff.gotoAndPlay(Math.round(Math.random()*10));
// 每一桢烟雾淡化和速度
aPuff.onEnterFrame = function(){
// 使烟雾缩放比例随着增大
this._xscale = this._yscale += fadeSpeed;
// 让烟雾alpha随着递减.
this._alpha -= fadeSpeed;
// 让烟雾逐渐上升.
this._y -= floatUpSpeed;
//当比例达到100%或者超出的时候,移除它.
if(this._xscale >= 100){
this.removeMovieClip();
}
}
}
6.回到场景新建一层 然后把smoke剪辑拖到枪口位置,CTRL+ENTER 看到效果
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |