你现在的位置:首页》flash学习》

 

学做随机爬行小甲虫


 

         

              这是“笨虫虫 ”创作的一个flash,我学做成功,但并不是一帆风顺。先在PS里画小甲虫,然后

           导入flash,转换成影片剪辑元件(甲虫须和脚做成动态效果,并把甲虫头朝右水平放置);在场景

           图层一第一帧,导入背景图片;在图层二第一帧,拖入小 甲虫影片剪辑元件,命名为lady_bug;

           插入图层三,在第一帧输入以下代码:

           //初始化
           //初始虫子移动速度
           speed = 3;
           //地面大小
           ground = 280;
           //活动边界
           move_left = 135;
           move_right = 135+ground;
           move_up = 110;
           move_down = 110+ground;
           //初始虫子运动状态
           lady_bug.stoped = false;
           function bug_move() {
           //随机给虫虫取个角度
           lady_bug._rotation += Math.floor(Math.random()*21)-10;
           if (!lady_bug.stoped) {
           //利用三角函数计算出虫子将要移动到的点的坐标,并让虫子移动
           ang = lady_bug._rotation;
           xgo = Math.cos(Math.PI/180*ang)*speed;
           lady_bug._x += xgo;
           ygo = Math.sin(Math.PI/180*ang)*speed;
           lady_bug._y += ygo;
           //限定虫子的活动范围,并让虫子在碰壁时转90度好往回走。(因为突然转90度,看上去有些突然,
           //效果不好,我就让虫子的活动范围比实际界面大一点点,再用mask罩在界面上。)
           if (lady_bug._x>move_right) {
           lady_bug._x = move_right;
           lady_bug._rotation += 90;
           }
           if (lady_bug._x<move_left) {
           lady_bug._x = move_left;
           lady_bug._rotation += 90;
           }
           if (lady_bug._y>move_down) {
           lady_bug._y = move_down;
           lady_bug._rotation += 90;
           }
           if (lady_bug._y<move_up) {
           lady_bug._y = move_up;
           lady_bug._rotation += 90;
           }
           //为了更好地模拟虫子的运动效果,让虫子有时停顿一下,这样看上去更有趣。
           if (Math.floor(Math.random()*100) == 10) {
           lady_bug.stoped = true;
           mydate = new Date();
           time1 = mydate.getTime();
           }
           } else {
           mydate = new Date();
           now_time = mydate.getTime();
           if (now_time-time1>3000) {
           lady_bug.stoped = false;
           }
           }
           }
            //播放每帧时调用bug_move这段函数
           this.onEnterFrame = bug_move;

                                                                                     05/12/07

 

 

           你看到的flash是我第二次做的作品,第一次做的太难看了。(2006.03.20)

 

返回主页