您现在的位置: 圆点视线 >> 教程 >> flash教程 >> 实例教学 >> 文章正文
[组图]雪夜的作法讲解         
雪夜的作法讲解
作者:AOL  文章来源:不详  点击数:  更新时间:2005-8-7 21:41:47 
 页面功能:【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口 【字体:
 1.建立一个新的动画,将舞台设为450*250 pixels;background颜色为#000000(众人语:搞了半天不就是黑色嘛);framerate为20fps,这是帧运动速度,假如设得太大的话雪就不是飘了,而是落或者下了,没意境,呵呵. 
 2.用ctrl+f8建立一个名为snowflake的mc.如放大后的图,具体定多大,参考源文件。 
 
 3.在时间轴上建一个图层,用File->import(ctrl+R)导入一个小屋,小屋怎么画就不是本帅哥的事了。搞定后如图. 
 

 4.再建立一个图层,用ctrl+L把资料库面板调出来,把刚才做的名为snowflake的mc拖至舞台的任何一个位置,因为我是用AS控制它的位置的。所以放哪儿没关系,您爱放哪,就放哪吧。定义它的instance name为flake,在MX中用ctrl+f3调出属性面板,左边就可以定义instance name。 这样就建好了一个名为flake的对象实例,供后面复制多个雪花用。如图。 
 
 5.再在主场景建立一个图层,也就是第三个图层,用来编AS.代码如下: 
 //------------------------------------- 
 //第一帧 
 //------------------------------------- 
 //定义雪花飘落的范围 
 moviewidth = 450; 
 movieheight = 230; 
 fscommand("allowscale", "false");//不允许缩放。 

 
 //------------------------------------ 
 //第二帧的as. 
 //------------------------------------- 
 index++;//复制雪花的下标,可以这样说吧,不过不是数组的。 
 duplicateMovieClip("flake", "flake"+index, index);//复制了一个雪花。 

 
 //--------------------------------------------------- 
 //第三帧的as. 
 //转到第二帧,继续复制雪花,不过下一个index值就加1了。 
 //--------------------------------------------------- 
 gotoAndPlay(_currentframe-1); 

 6.点到那个名为flake的对象实例,MX用f9调出Action面板编辑as,flash5中用ctrl+alt+A.其实这一步可以在第四步后就可以做了。这样做大家有点儿不明白,所以放在这一步好讲解。这里的as是object as,不是frame as,两者有一定的区别。不知道的话看书或者问我吧,欢迎美女前来!AS 代码如下: 

 onClipEvent (load) { 
 //随机定义雪花出现的位置 
 _x = random(_root.moviewidth); 
 _y = -1; 
 //随机定义雪花的大小,使有的大,有的小这样才好看。 
 ran = random(61)+70; 
 _xscale = ran; 
 _yscale = ran; 
 //随机定义雪花的飘落速度 
 speed = random(4)+2; 
 } 
 onClipEvent (enterFrame) { 
 //如果雪花没有飘到底部,继续 
 if (_y<_root.movieheight) { 
 //雪花新的位置,这样就移动了。 
 _x += (Math.sin(_y/20)*1.5); 
 _y += speed; 
 } else { 
 //如果雪花飘至底部,删除,省得占内存,嘿。 
 removeMovieClip(""); 
 } 
 } 

 按ctrl+enter测试,打完收工! 
  总结:1.这里的index没有初始化,你可以在第一帧初始化。默认值为0. 
  说说编程作风问题,其实编大一点的就应该初始化,因为要改的时候就好改,而且明朗,要不然别人看你的 as的话一会儿又冒出一个不知道的变量来就头大了。这里的as较短,所以不必了.(美女语: AOL好cooool~~~~~~~~~!) 
 2.对象实例的object as中有一个onClipEvent(load)就是载入这个实例后会怎么怎么样,就是执行大括号后里的语句。enterFrame看名字也知道是过了一帧,怎么怎么样。 
  3.本例关键靠一个random函数,它在Math对象中。用它可以定义一个随机整数,比如说random(100),就可以随机搞出一个0--99的整数.
 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 文章录入:apoints    责任编辑:apoints  【字体:
 
  • 上一篇文章:

  •  
  • 下一篇文章:
  • 最新文章
    相关文章
    使用html为flash页面添加音乐
    freehand也能做flash动画
    Flash格斗动画[鬼斗]的镜头处理教程
    在flash里获取PHP变量
    Flash+ASP实现电子互动地图在线标注功能
    让Flash调用符合web标准
    Flash实例:鼠标点选不同层次的层叠图片
    Flash AS代码简单实现动态文本包边效果
    用Flash 8 AS代码写摄像头拍照功能
    Flash遮罩轻松制作鼠标弹性跟随放大镜
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
     姓  名: 评 分: 1分 2分 3分 4分 5分
     评论内容: ·严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
    ·用户需对自己在使用本网服务过程中的行为承担法律责任
    ·本站管理员有权保留或删除评论内容。
    ·评论内容只代表机友个人观点,与本网站立场无关。
     
    最 新 推 荐
     
    百度主题推广
    最 新 热 门