武陵观察网 问答 Flash如何制作敌人穷追不舍的追逐动画教程

Flash如何制作敌人穷追不舍的追逐动画教程

本教程主要介绍用Flash制作一个敌人紧追不舍的动画游戏的方法。教程不是很难,只是sin和cos函数的应用。如果能应用的话,你会发现大部分游戏没有三角函数是做不出来的。

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

其实计算完两点间的距离D,加上一点判断,然后移动。

RtABC,C=90度。A的对边叫做A.BB的对边叫做B。

Sin1=a:c=a/c(对边比斜边多)

Cos1=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是单位时间内移动的距离。因为sin1=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

(新加坡,新加坡)

去追那个红点。再次参考图,红点在蓝点右上方时,为——3354 (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 . addevent listener(mouse event。MOUSE_MOVE,moves);

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

var mou:Sprite=new Sprite();//用于获取鼠标的坐标

var S1:Number=0;//角度

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

addChild(mou);

函数移动(e:MouseEvent){

m . x=mou . mousex;

m . y=mou . mousey;

}

stage.addEventListener(事件。ENTER_FRAME,mm);

函数mm(e:事件){

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;

}

}否则{

s . x=m . x;

s . y=m . y;

}

}

函数abs(n:数字){

return(math . ABS(n));

}//计算绝对值

函数pf(n:数字){

返回n * n

}//计算平方

//这里是设置速度的按钮

b1.addEventListener(MouseEvent。点击,se);

函数se(e:事件){

I=int(q . text);

}

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

其实就是计算两点之间的距离D,加上一点判断。然后移动。

教程最后,以上是追闪敌人的动画教程(鼠标感应)。希望能对大家有所帮助!

本文来自网络,不代表本站立场,转载请注明出处:https:

Flash如何制作敌人穷追不舍的追逐动画教程

武陵观察网后续将为您提供丰富、全面的关于Flash如何制作敌人穷追不舍的追逐动画教程内容,让您第一时间了解到关于Flash如何制作敌人穷追不舍的追逐动画教程的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。