论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

点点萤火虫

文章类别:Flash | 发表日期:2008-9-21 19:20:43

  看效果先。
点击浏览该文件
  先说,头次发这么么复杂的东东,说得不明白的勿砸,后面有源文件的。
1、打开MX,将影片属性的背景设为黑色。
2、新建一MC,名boundbox,内画无填充矩形一个,大小随喜,
3、新建一MC,名yuan,画一填充圆形,大小为4*4,亮黄色。
按此在新窗口浏览图片
4,新建一MC,名fly,在第二帧插入刚才做的MC,yuan.然后在第20帧插入要害帧,把第20帧的alpha改为0。补间动画。然后,新建一层,于第1帧上写上stop();最后一帧要害帧,写上:

lightsoff = true;
gotoAndStop(1);
按此在新窗口浏览图片
5。新建一MC,把fly导入。新建一层,在上面写上AS:stop();选中MCfly,给它写上AS:

onClipEvent(load) {
var flySpeed = 40; // set the speed at which they travel
var lightsoff = true;
//获取活动范围,getBounds()为返回实例最大、最小的X、Y坐标。
var myBounds = _root.boundbox.getBounds(_root);
_parent._x = random(myBounds.xMax); // randomize the starting positions
_parent._y = random(myBounds.yMax);
var a = 6; // 最好取1.1-10数值越小,萤火虫越活跃。
var d = 1.2; // 最好取1.1 - 4,数值越小,移动越快。
var newX = _parent._x;
var newY = _parent._y;
var myXspeed = 0;
var myYspeed = 0;
}
onClipEvent(enterFrame) {
var blink = random(30); //产生随机闪耀效果。越小闪耀越频繁,
if (!blink && lightsoff) {
gotoAndPlay(2);
lightsoff = false;
}
var change = random(5); // randomize the movement
if (change) {
newX = _parent._x + random(flySpeed)-(flySpeed/2);
newY = _parent._y + random(flySpeed)-(flySpeed/2);
}
if (newX > myBounds.xMax) { // check the bounds
newX = myBounds.xMax;
} else if (newX < myBounds.xMin) {
newX = myBounds.xMin;
} else if (newY > myBounds.yMax) {
newY = myBounds.yMax;
} else if (newY < myBounds.yMin) {
newY = myBounds.yMin;
}
myXspeed = ((_parent._x-newX)/a+myXspeed)/d; // find the new point, and start moving in that direction
myYspeed = ((_parent._y-newY)/a+myYspeed)/d;
_parent._x -= myXspeed;
_parent._y -= myYspeed;
}   
以上注解,英文是原文件有的,汉字部分是自己试出来的。
最后,给这个元件在库中设置链接,标识符名取:fly。
按此在新窗口浏览图片
6、回到场景,从库中导出boundbox,实例名也取boundbox.。
按此在新窗口浏览图片
7、最后,在主场景中新建一层,上面写上AS。 //随机产生萤火虫数量。

var bugs = random(15)+8;
for (i=0; i<=bugs; i++) {
attachMovie("fly", "fly"+i, i);
}
_root.boundbox._visible=false;
stop ();   
好了,回车看看效果。 当然这个还很粗糙,(本人部分还看不懂)可以在细节上多处理一下,让萤火虫的光线更柔和,还可以写一段随机产生萤火虫大小的AS,让这一切更真实。
  顺便也向高手们请教下下:

if (!blink && lightsoff) {
gotoAndPlay(2);
lightsoff = false;
}
var change = random(5); // randomize the movement
if (change)
这部分不太懂。change和blink都是随机产生的数字,和这个判定条件有什么作用?
源文件:
点击浏览该文件

上一篇:{应用}降噪效果 人气:2668
下一篇:{应用}FE 粒子系统LE(冒烟) 人气:2158
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058