文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 国产软件 | 国外软件 | 汉化补丁 | 设为首页 | 加入收藏
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网站建设 | 技术开发 | 专栏
当前位置:abcdown网络学院媒体动画Flash用AS让MC做随机运动的具体解析
精品广告
推荐TOP10
·自制
·FLASH基础的一些心得体会
·推荐:不间断滚动显示图片的代码
·全面升级您的Flash播放器
·由浅入深学习Flash制作高射炮游戏
·由浅入深学习Flash制作高射炮游戏(续)
·遮照及文字遮照的几个概念和事例
·创建一个实用Flash站点的十大技巧
·Flash动画制作实例:小野人玩摇滚
·Flash技术在电子杂志设计制作应用
阅读TOP10
·用Flash制作选择题模板
·Flash AS制作飘落的红叶
·用SwiSHpix软件巧做相册
·用Flash MX模板制作幻灯片效果
·Flash初学者入门常见问题大总结
·Flash遮罩特效实例--放大镜(图)
·用FLASH遮罩效果做图片切换效果
·Flash遮罩特效实例--可拖曳遮罩效果
·Flash游戏开发常用函数代
·flash声音特效实例--架子鼓(图)

用AS让MC做随机运动的具体解析

日期:2007年7月2日 作者: 查看:[大字体 中字体 小字体]



  让MC做随机移动,可想而知,用帧动画根本不可能实现,这就要求我们用AS来做.
一般的,用AS让mc做随机运动的方法有2种:

  第1种:


  1.可以先随机确定舞台上一点的坐标,我们称之为“目标位置”,用(x,y)来表示,由这“目标坐标”和mc原来的坐标(x0,y0),根据公式{Math.atan2(y-y0,x-x0)}就可算出一个弧度a,如图1;


用AS让MC做随机运动的具体解析(图一) ·磁盘阵列(Disk Array)原理


    2.再由这弧度的正弦sin(a)和余弦乘cos(a)上一个定值速度v,即可得出mc的纵横坐标将要移动的距离,如图2,mc也就朝着这个“目标位置”移动了。

用AS让MC做随机运动的具体解析(图二)



   3.我们再用setInterval每隔一小段时间就取一“目标点”,因为是随机的,所以mc也就做无规则运动了。
下面看看一个例子:


http://www.webjx.com/upfiles/20051223/20051223090022_1.swf


AS:


v = 10;//速度
function  abc(){
 x = random(Stage.width);
 y = random(Stage.height);
}//函数,随机获得 目标点
setInterval(abc,500);//每隔0.5秒就确定一次 目标点,
//这里用直接用onEnterFrame的话“目标点”变化的频率会太高,导致小球是做震动而不是移动;
onEnterFrame = function(){//不断执行
 a = Math.atan2(y-mc._y,x-mc._x);//算出弧度a
 mc._x += v*Math.cos(a);
 mc._y += v*Math.sin(a);//移动
}

  第2种,是先让mc随机旋转一个角度a,这个角度也就是mc将要前进的方向。


  具体做法:


  1、我们要先把mc旋转的角度a转化为弧度;


  2、同样的用弧度的正余弦sin和cos乘上速度v,求出mc的纵横坐标将要移动的距离,使mc朝着这个旋转的方向移动。(参照图2)


  3、用setInterval/onEnterFrame不断地来确定随机的旋转角度,mc也就随机地运动了。
这里涉及到弧度与角度的转换,我们有公式:


角度 = 弧度*180/3.1415....;
弧度 = 角度*3.1415...../180;

下面看看这一段代码:


v = 10;//速度
function abc(){
a = mc._rotation = random(360);
}//获取角度
setInterval(abc,500)//每隔0.5秒确定一次角度,原理同上
onEnterFrame = function(){
 b = a*180/Math.PI;//将角度转化为弧度,Math.PI为圆周率
 mc._x += Math.cos(b)*v;
 mc._y += Math.sin(b)*v;//移动
}


[1] [2] 下一页 

上一篇:FlashLite与J2ME分析比较

下一篇:网页中Flash透明问题的完美解决


相关软件: 相关文章:
·用AS让MC做随机运动的具体解析

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.abcdown.net
首页 | 本站声明 | 下载帮助 | 发布软件 |
中文版权所有:ABC学院 浙ICP备05000717号