Flash如何制作敌人穷追不舍的追逐动画教程-办公软件教程

  这篇教程主要向大家介绍利用Flash制作敌人穷追不舍的追逐动画游戏方法,教程不是很难,只是将sin,cos函数的应用罢了。会应用的话会发现很都游戏的制作都离不开三角函数。

  还有的就是在一定的范围内追逐目标。

  其实是计算出两点距离d后加一点判断,然后再执行移动  

  Rt△ABC,∠C=90度。。。∠A所对的边叫a..∠B的对边叫b…

  sin∠1=a:c=a/c(对边比斜边)

  cos∠1=b:c=b/c(邻边比斜边)

  至于asin就是求sin的反值。。。sin是求边的比。。。那么asin就是用比来反求角的值

  即asin(a:c)=∠1..

  acos就是反求cos的值。。。

  还有要用到的是钩股定理。。。

  既a*a+b*b=c*c

  :  

  d就可以通过(m.x-m.y)的平方加上(m.y-s.y)的平方的和再开方来求出

  然后用asin(abs(m.y-s.y):d)求出∠1…既s1的值…

  继续往下看:  

  s1已知….i就是在1单位时间内移动的距离。。。。因为sin∠1=a:c

  假设ss=sin(s1)

  所以sin(s1)=a:c=a:i=ss,a=ss*i。

  假设cos(s1)=b:c=b:1=cc,c=cc*i。

  还有要注意的一个问题。。。。就是要计算出移动后的点的坐标。。。。

  。。参照图2

  (s.x,s.y)

  要去追(m.x,m.y)那个红点。。。再参照图,当红点在蓝点的右上方时————即(m.x>=s.x && m.y>=s.y)

  蓝点移动到的点的坐标就是。。。。(s.x+cc*i,s.y+ss*i)

  在右下方(m.x>=s.x && m.y<=s.y)

  移动后的点(s.x+cc*i,s.y-ss*i)

  在左下方时(m.x<=s.x,m.y<=s.y)

  移动后的点(s.x-cc*i,s.y-ss*i)

  在左上方时(m.x<=s.x && m.y>=s.y)

  移动后点坐标(s.x-cc*i,s.y+ss*i)

  源程序:

  复制代码

  代码如下:

  stage.addEventListener(MouseEvent.MOUSE_MOVE,moves);

  var i:int=int(q.text);

  var mou:Sprite=new Sprite();//用来得到鼠标的坐标

  var s1:Number=0;//角

  var d:Number=0;//两点的距离

  addChild(mou);

  function moves(e:MouseEvent){

  m.x=mou.mouseX;

  m.y=mou.mouseY;

  }

  stage.addEventListener(Event.ENTER_FRAME,mm);

  function mm(e:Event){

  d=Math.sqrt(pf(abs(s.x-m.x))+pf(abs(s.y-m.y)));

  s1=Math.asin(abs(s.y-m.y)/d);

  if(d>=i){

  if(m.x>=s.x && m.y>=s.y){

  s.y+=Math.sin(s1)*i;

  s.x+=Math.cos(s1)*i;

  }else if(m.x<=s.x && m.y<=s.y){

  s.y-=Math.sin(s1)*i;

  s.x-=Math.cos(s1)*i;

  }else if(m.x<=s.x && m.y>=s.y){

  s.x-=Math.cos(s1)*i;

  s.y+=Math.sin(s1)*i;

  }else if(m.x>=s.x && m.y<=s.y){

  s.x+=Math.cos(s1)*i;

  s.y-=Math.sin(s1)*i;

  }

  }else{

  s.x=m.x;

  s.y=m.y;

  }

  }

  function abs(n:Number){

  return(Math.abs(n));

  }//计算绝对值

  function pf(n:Number){

  return n*n;

  }//计算平方

  //以下是设定速度的按钮

  b1.addEventListener(MouseEvent.CLICK,se);

  function se(e:Event){

  i=int(q.text);

  }

  还有的就是在一定的范围内追逐目标。。。。

  其实是计算出两点距离d后加一点判断。。。然后再执行移动。。。

  教程结束,以上就是flash敌人穷追不舍(鼠标感应)的追逐动画教程,希望能对大家有所帮助!

共享资源网提供最优质的资源集合。
共享资源网 » Flash如何制作敌人穷追不舍的追逐动画教程-办公软件教程

共享资源网提供最优质的资源集合

充值中心 开启会员