应用思考-教育技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

开启左侧

下雨和停雨实例

[复制链接]
发表于 2014-5-27 15:32:35 | 显示全部楼层 |阅读模式
先上传文件。抽空来讨论教材里这个制作过程。下雨和停雨.swf(73.89K)

建议参考另一种方法:http://www.etthink.com/thread-20060-1-1.html

评分

参与人数 1金钱 +10 +1 收起 理由
etthink + 10 + 1

查看全部评分

欢迎大家多发帖,参与讨论,增进彼此了解。
发表于 2014-6-10 12:30:34 来自手机 | 显示全部楼层
不更新了吗wechat:lang_wechat_threadmessage
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-10 16:41:51 | 显示全部楼层
最近工作比较忙。我尽快抽时间附上教程。
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-10 16:51:49 | 显示全部楼层
先提供这个课件的制作思路(来自教材):
      这个实例的制作思路是,先制作一个影片剪辑元件,在这个元件舞台上绘制一条斜的白线表示雨,然后用循环程序将这个影片剪辑从库中复制多个到舞台上,并随机定位。此实例还要制作一个帧循环,在每一次帧循环中,都要把这些影片剪辑重新随机定位,这样才能形成下雨的动态效果。
      在帧循环中,要随机定位这些影片剪辑,就必须全部找到这些影片剪辑,也就是“遍历显示列表”。找到这些影片剪辑后,才能随机再设置其坐标。这里用的方法是,在创建影片剪辑时就给这些影片剪辑有规律的命名,然后通过实例名就能可以找到它们。
    雨逐渐停止的效果其实就是不断从显示列表中删除影片剪辑的过程,这也在一个帧循环中完成,每次循环删除一个影片剪辑,完全删除以后停止。
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-10 16:52:31 | 显示全部楼层
尽快提供具体制作步骤
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-11 10:47:12 | 显示全部楼层
一、制作所需元件
1、新建flash文件,帧频设低一点,
2、新建mc,命名“细雨”,在该元件内绘制一条斜的白色细线,作为雨下落时所形成的白线。
3、新建按钮元件,命名为“雨停”,并修改按钮元件文本为“雨停”
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-11 10:49:15 | 显示全部楼层
二、为“细雨”元件设置
1、在元件库的“细雨”元件右击,选择“属性”,打开“高级”设置
2、勾选”为ActionScript"导出,把“类”名设为“yu"
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-11 10:51:04 | 显示全部楼层
三、布置主场景
1、在主场景把图层一命名为背景,在背景图层第5帧插入普通帧
2、导入背景图片
3、插入新图层,命名为”按钮“选中”按钮“图层第一帧,从元件库里拖出”雨停“按钮到舞台右下角,命名为”ty_btn"
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-11 10:53:51 | 显示全部楼层
四、编写从库中复制影片剪辑的程序
1、插入新图层,命名为as
2、选中as图层第一帧,输入下面程序
import flash.events.MouseEvent;

for (var i=1; i<150; i++)
{
        var yu_mc=new yu();
        yu_mc.x = Math.random() * 550;
        yu_mc.y = Math.random() * 400;
        addChild(yu_mc);
        yu_mc.name = "yu" + i;
}
ty_btn.addEventListener(MouseEvent.CLICK,ty);
function ty(event:MouseEvent):void
{
        gotoAndPlay(4);
}
var k:uint = 1;
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-11 10:54:46 | 显示全部楼层
五、在as图层第二帧,插入关键帧,输入下面程序
for (var j=1;j<150;j++){
        getChildByName("yu"+j).x=Math.random()*550;
        getChildByName("yu"+j).y=Math.random()*400;
}
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-11 10:56:32 | 显示全部楼层
在as图层第三帧输入
gotoAndPlay(2);
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-11 10:57:10 | 显示全部楼层
在as图层第四帧输入
removeChild(getChildByName("yu"+k));
for (var m=k+1; m<150; m++)
{
        getChildByName("yu" + m).x = Math.random() * 550;
        getChildByName("yu" + m).y = Math.random() * 400;
}
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 发表于 2014-6-11 10:57:40 | 显示全部楼层
在as图层第五帧输入
k++;
if (k == 150)
{
        stop();
}
else
{
        gotoAndPlay(4);
}
欢迎大家多发帖,参与讨论,增进彼此了解。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|应用思考-教育技术论坛 ( 皖ICP备10014945号-4 )

GMT+8, 2026-3-17 13:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表