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

随机

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

  第1种:

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

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

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

点击这里下载源文件

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;//移动
}
将这段AS复制进上面的源文件中,看看效果会不会一样:)

时间: 2024-09-11 11:52:39

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

编程-函数名做函数参数 无法解析的外部命令

问题描述 函数名做函数参数 无法解析的外部命令 #include int main() { float average(float array[10]); float score[10], aver; int i; printf("input 10 score: "); for (i = 0; i < 10; i++) scanf("%f",&score[i]); printf(" "); aver = average(score)

java解析xml文件中数据,数据之间用0x2588做分隔符,怎么解析

问题描述 java解析xml文件中数据,数据之间用0x2588做分隔符,怎么解析 java解析xml文件中数据,数据之间用0x2588做分隔符,0x2588做分隔符分隔符问题,这个0x2588的分隔符怎么处理 解决方案 xml字符串.split((char)(0x2588)) 解决方案二: 我试试 ,谢谢好心人,谢谢你抽出时间 谢谢

外链狠招:免费在权重博客上做全站外链解析

今天让我郁闷了一个上午,因为网站快照不能天天更新,换了一个上午的友情链接居然没看见电脑桌面右下角的企鹅闪过,太伤心了. 不过今天上午还是有点意外所收获的,在找换友情链接的时候发现一个很牛的方法,既然可以轻松在高权重的博客上免费做个友情链接.呵呵,,我那个兴奋的呀.下面说下简单方法. 首先要求:在百度里面找下权重比较高的博客,前提是要带评论并可以留网址的博客哦,当然是博客程序全站页面都调用评论的这种博客. 操作流程:当你找到一些符合条件的博客时候,你只需要在他(她)博客其中的一篇文章中评论就会在全

利用图片做木马应用完全解析_漏洞研究

何谓BMP网页木马?它和过去早就用臭了的MIME头漏洞的木马不同,MIME木马是把一个EXE文件用MIME编码为一个EML(OUT LOOK信件)文件,放到网页上利用IE和OE的编码漏洞实现自动下载和执行.    然而BMP木马就不同,它把一个EXE文件伪装成一个BMP图片文件,欺骗IE自动下载,再利用网页中的JAVAscript脚本查找客户端的Internet临时文件夹,找到下载后的BMP文件,把它拷贝到TEMP目录.再编写一个脚本把找到的BMP文件用DEBUG还原成EXE,并把它放到注册表启

有那个大神做过正则表达式的解析啊 求一份Demo啊

问题描述 我需要将其7707.1;t=(w+);ID=(w+);IN[0-7]=(d){8};(BM(d)=([+-]),([+-]),(d+).(d+);)*;(YB(d)=(w+);)*正则表达式解析解析并且显示出来,有谁可以提供哪怕是思路也好没接触过现在还不会啊求大神帮忙 解决方案

做个按钮控制图片缓冲切换的效果(带模糊滤镜)

按钮|控制|滤镜 一个带缓冲的图片切换的效果,按钮控制,加了模糊滤镜,提升速度感.源文件已附上.下面是代码: stop(); /////也打上自己的名字-_-,绝命时刻2006年11月18日/////// var sz = 127; var sd = 3; var temp = 1; tempT = temp; t1 = "按钮控制缓冲:带缓冲效果的图片切换."; mcX = mc._x; xfmc._visible = false; if (temp == 1) {         

湖畔第一大脑深度解析:别做“自嗨”的SaaS

第41期<崔牛八点半>上,特邀嘉宾驻云科技创始人兼CEO蒋烁淼先生做了一次关于"SaaS"的线上分享,同时15个崔牛会行业群联动直播.引发了大量的思考与讨论.蒋烁淼被誉为"湖畔第一脑"的企业级大咖,多年来致力于帮助企业使用及应用云计算大数据等互联网基础技术.下面请与我们一起,探究了软件即服务的本质和未来软件的发展方向. 别做"自嗨"的SaaS   说起SaaS的概念,大家都知道,通常指的是Software as a Service,其

java做服务器

问题描述 java做服务器时怎样解析jsp等动态页面 解决方案 解决方案二:通过tomcat容器,将页面放在容器中去动态解析.楼主可以看看servlet与jsp解决方案三:楼主啥也不懂,还是先学习一下基础,要不报个培训班.解决方案四:看看servlet原理.jsp其实就是servlet解决方案五:解析JSP需要web服务器.比如tomcat.weologic等等解决方案六:你是说web服务器吗?jsp/servlet用web容器去运行.常见的tomcat,weblogic等等解决方案七:属于网络

美图秀秀制作漂亮饰品做水印教程分享

给各位美图秀秀软件的使用者们来详细的解析分享一下制作漂亮饰品做水印的教程. 教程分享: 一.饰品做水印 独特更漂亮 很多小有名气的"草根"网友,都会在自己发帖时带上自己独特的水印.这样就形成了一种风格,让别记住了自己,人气也就积攒了.实际上并不是他们多会处理照片,只要选择一款实用简单的软件工具就可以了.看看"美图秀秀"软件加饰品不过一键添加,谁不会呢?   饰品是种装饰,只要有"美图秀秀"软件的人都可以拥有.所以如果要有自己独特的风格,最好在图片