Flash游戏制作:敌人穷追不舍(鼠标感应)的追逐动画教程

所属分类: 媒体动画 / Flash教程 阅读数: 75
收藏 0 赞 0 分享

这篇教程主要是向脚本之家的朋友介绍利用Flash制作敌人穷追不舍的追逐动画游戏方法,教程不是很难,只是将sin,cos函数的应用罢了。。。。会应用的话。。。会发现很都游戏的制作都离不开三角函数。。。。如果实在不知道三角函数是什么。。。。自己上网查去。。。

下面我们先来看看效果图吧:
 


还有的就是在一定的范围内追逐目标。。。。
其实是计算出两点距离d后加一点判断。。。然后再执行移动。。。详细参考源文件。。。

效果:




。。。讲玩。。。。打机去^_^

 图1

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
如下图:

 

 图2

d就可以通过(m.x-m.y)的平方加上(m.y-s.y)的平方的和再开方来求出
然后用asin(abs(m.y-s.y):d)求出∠1...既s1的值...
继续往下看:

 图3

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)那个红点。。。再参照图3,当红点在蓝点的右上方时————即(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);
}
详尽可以看源文件。。。。。请用Flash CS4打开。。。。

效果:


还有的就是在一定的范围内追逐目标。。。。
其实是计算出两点距离d后加一点判断。。。然后再执行移动。。。详细参考源文件。。。

效果:




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

更多精彩内容其他人还在看

flash制作可爱的简单线条笑脸

这篇教程是向脚本之家的朋友介绍flash制作可爱的简单线条笑脸方法,教程制作出来的笑脸非常可爱,而且方法不是很难,推荐过来,大家一起来学习吧
收藏 0 赞 0 分享

flash中制作文字按照顺序显示出来的gif动画

这篇教程是向脚本之家的朋友介绍flash中制作文字按照顺序显示出来的gif动画方法,教程制作出来的动画效果非常漂亮,难度不是很大,推荐过来,大家快快来学习吧
收藏 0 赞 0 分享

flash制作一个一个字的冒出来的打字效果

这篇教程是向脚本之家的朋友介绍flash制作一个一个字的冒出来的打字效果方法,教程很简单的,很适合新手来学习,推荐到脚本之家,喜欢的朋友快快来学习吧
收藏 0 赞 0 分享

用flash制作画卷展开、合拢的gif动画效果

这篇教程是向脚本之家介绍用flash制作画卷展开、合拢的效果方法,教程制作出来的效果很不错,难度不是很大,推荐到脚本之家,喜欢的朋友快快来学习吧
收藏 0 赞 0 分享

flash怎么制作太阳月亮地球演示动态图?

flash怎么制作太阳月亮地球演示动态图?这个动图的制作过程很麻烦,因为出现的元素很多,下面我们就来看看绘制的图文教程,每一步都有,参数很清楚,想学习的朋友可以进来参考一下
收藏 0 赞 0 分享

flash制作一闪一闪的gif动画文字按钮效果

这篇教程是向脚本之家的朋友介绍flash制作一闪一闪的gif动画文字按钮效果方法,教程真的很不错,制作出来的效果很漂亮,推荐过来,一起来学习吧
收藏 0 赞 0 分享

在flash中制作由花生组成的好看花型

这篇教程是向脚本之家的朋友介绍在flash中制作由花生组成的好看花型方法,教程制作出来的图形很漂亮,难度也不是很大,推荐到脚本之家,喜欢的朋友一起来学习吧
收藏 0 赞 0 分享

flash逐帧动画制作全过程解析

这篇教程是向脚本之家的朋友分享flash逐帧动画制作全过程,教程非常基础,很适合新手来学习,推荐过来,有兴趣的朋友可以过来学习
收藏 0 赞 0 分享

flash引导层动画:引导层制作飞行的飞机

这篇教程是向脚本之家的朋友分享flash引导层动画:引导层制作飞行的飞机教程,教程真的很不错,很适合新手来学习,推荐到脚本之家,喜欢的朋友快快来学习吧
收藏 0 赞 0 分享

Flash把静态的水的图片制作成形象逼真的水波效果

这篇教程是向脚本之家的朋友分享Flash把静态的水的图片制作成形象逼真的水波效果方法,教程真的很不错,很值得大家学习,推荐到脚本之家,喜欢的朋友快快来学习吧
收藏 0 赞 0 分享
查看更多