ActionScript动画编程:Math对象运用
作者 佚名技术
来源 服务器技术
浏览
536
发布时间 2012-07-07
h.random(),该方法返回一个大于或等于0并且小于1的随机浮点数。Math.random方法比random函数得到的结果更精确,但它并不能直接产生一个整数。我们可以使用别的办法将Math.random方法产生的随机数转换为我们需要的整数,如要得到一个1~10之间的随机整数,可以使用如下所示的ActionScript: trace(Math.floor(Math.random()*10+1)); 11.6 练习:下雪 打开文件snow.fla,这是一个利用attachMovie和Math.random方法制作的下雪效果,其中每一片雪花的 大小、方向各不相同,如图11-2所示。 [全屏欣赏] 图11-2 下雪特效 该动画中形状各异的雪花与Math.random函数密不可分,下面来看它的制作方法。 (1)在库面板中为snow影片剪辑创建链接,其链接标识符为snow,如图11-3所示。 图11-3 为影片剪辑添加链接 (2)将snow元件拖到场景中,选中该影片剪辑实例,在其中添加如下ActionScript: onClipEvent (load) { this._visible = false; v0 = 3; //速度 num = 50; //数量 vx = new Array(); //记录水平速度的数组 vy = new Array();成 //记录垂直速度的数组 for (var i = 1; i<=num; i++) { _root.attachMovie("snow", "snow"+i, i); //附加num个影片剪辑实例 scale = 100*Math.random()+50; //随机设定实例大小 with (_root["snow"+i]) { //with语句 _xscale = scale; _yscale = scale; _x = 500*Math.random(); //随机出现在影片水平宽度范围 _y = 400*Math.random(); //随机出现在影片垂直高度范围 _rotation = 360*Math.random(); //随机旋转一个角度 vx[i] = v0*Math.random()+v0; //随机取得水平方向上的速度 vy[i] = v0*Math.random()+v0; //随机取得垂直方向上的速度 } } } onClipEvent (enterFrame) { for (var i = 1; i<=num; i++) { with (_root["snow"+i]) { _x += vx[i]; //在水平方向上运动 _y += vy[i]; //在垂直方向上运动 if (_x<0) { //超出左边界,从右边界进入 _x = 500; } if (_x>500) { //超出右边界,从左边界进入 _x = 0; } if (_y>400) { //超出下边界,从上边界进入 _y = 0; } } } } 以上脚本除了用到数组、attachMovie、Math.random等知识外,还用到了with动作。with动作用来为一组动作脚本指定一个对象,如本例用with动作指定对象_root["snow"+i],并在其后的大括号中对该对象的多种属性进行修改,从而避免了为每一个属性重复指定相同的对象,使脚本更紧凑和更简化。 关键词:动画 对象 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于ActionScript动画编程:Math对象运用的所有评论