论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: 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,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

雪花的派生做法(1)

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

  [原创]雪花的派生做法(1)

点击浏览该文件
星星(3)(运行环境FLASH6。0)
对duplicateMovieClip功能的进一步学习。这次做又与上次有了不同的理解。当然也就是对





概念的进一步理解。主要用到的熟悉点如下:
一是对路径的进一步理解。写在mc上的AS,在定义自身的属性时,可以省略实名,直接引用

。如:this._x=_x;
二是对数组的熟悉。如;复制后的MC标识名为"snow" + i;在引用时,可以写成_root

["snow" + i],也可以写成eval ("snow" + i)
三是setProperty是更改属性值。如
setProperty("snow" + i, _x , random (550));
也可以写成: eval ("snow" + i)._x =random (550);
四是放在主场的mc卸载,用unloadMovie(snow);
五是卸载复制多个mc用循环语句。如:
for(i =0;i<=100;i++){
removeMovieClip(_root["snow" + i]);
六是flash6.0版本可以在mc上写复制自身的代码。

具体的做法与下雪的方法一样,只是改变了一下图形。
元件有二个:一个是背景图元,一个是雪影片剪辑。
主场有三层一帧:第一层背景,第二层雪,第三层AS。
写AS的地方分别在:(1)主场帧上,也就是AS层的第一帧;(2)主场雪实例上。
下面将AS列示出来:
(一)主场AS层的第1帧上的代码如下:


i=1;//变量初始值
while (i <= 100) {//i小于等于100时循环
duplicateMovieClip ("snow", "snow" + i, i);//复制主场实例snow,并命为标

识名"snow" + i,层深i.
eval ("snow" + i)._x =random (550);//设置复制后数组的X轴坐标
eval ("snow" + i)._y =random (400);//设置复制后数组的Y轴坐标
eval ("snow" + i)._xscale=(Math.random() * 60) + 40;//X轴缩放大小
eval ("snow" + i)._yscale=eval ("snow" + i)._xscale;//Y轴缩放大小
eval ("snow" + i)._alpha=eval ("snow" + i)._xscale + random (20);//透明


i++;
}


(二)写在主场雪实例上的代码:


onClipEvent (enterFrame) {
_x = this._x + ((Math.random() * _xscale) / 10);//定义X轴位置
_y = this._y + ((Math.random() * _yscale) / 10);//定义Y轴位置
if (_x > 550) {//假如X轴位置大于550时
_x=0;//返回0的位置,以免跑出主场区
}
if (_y > 400) {//假如Y轴位置大于400时
_y = 0;//返回0的位置,以免跑出主场区
}
}
(三)按钮上的代码:


on(release){
unloadMovie(snow);//卸载主场实例snow
for(i =0;i<=100;i++){//卸载复制的"snow" + i
removeMovieClip(_root["snow" + i]);
}
}
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058