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

来源:互联网
更新时间:2016/12/9 11:14:41
责任编辑:王亮
字体:

这篇教程是向脚本之家的朋友介绍利用Flash制作敌人穷追不舍的追逐动画游戏方法,教程很不错,教程主要运用了三角函数,很值得学习,推荐到脚本之家,喜欢的朋友可以跟着教程一起来学习吧

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

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

 

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

其实是计算出两点距离d后加一点判断。。。然后再执行移动。。。详细参考源文件。。。

效果:

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

点击图片看大图中国学网 www.xue163.com

 图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敌人穷追不舍(鼠标感应)的追逐动画教程,希望能对大家有所帮助!

www.xue163.com true /5/52067.html report 9137 Flash游戏制作:敌人穷追不舍(鼠标感应)的追逐动画教程,这篇教程是向脚本之家的朋友介绍利用Flash制作敌人穷追不舍的追逐动画游戏方法,教程很不错,教程主要运用了三角函数,很值得学习,推荐到脚本之家,喜欢的朋友可以跟着教程一起来学习吧这篇教程主要是向脚本之家的朋友介绍利用Flash制作敌人穷追不舍的追逐动...
最近关注
首页推荐
热门图片
最新添加资讯
24小时热门资讯
flash 制作 敌人flash 敌人
精彩资讯
精彩推荐
热点推荐
真视界
精彩图片
社区精粹
关于本站 | 广告服务 | 手机版 | 商务合作 | 免责申明 | 招聘信息 | 联系我们
Copyright © 2004-2016 Xue163.com All Rights Reserved. 中国学网 版权所有
京ICP备10044368号-1 京公网安备11010802011102号
荐闻 | 学网头条知识问答 | 装修 | 作业 | 荐闻 | 学网头条精彩微信 | 新闻中心 | 软件教室 | 设计大全 | 网络相关 | 英语学习 | 开发编程 | 考试中心 | 参考范文 | 管理文库 | 营销中心 | 站长之家 | IT信息中心 | 商学院 | 数码大全 | 硬件DIY | 企业服务 | 网吧在线 | 问吧 | 百科 | 硬件知识 | 本网视点 | 文库 | 手机 | 平板 | 汽车 | 游戏 | 家电 | 精彩摄影 | 时尚科技 | 现代家居 | IT女人 | 经验 | 每日新闻 | 健康养生 | 图书馆 | 猎奇 | 精彩看点 | 图库 | 新闻中心 | 软件教室 | 设计大全 | 网络相关 | 英语学习 | 开发编程 | 考试中心 | 参考范文 | 管理文库 | 营销中心 | 站长之家 | IT信息中心 | 商学院 | 数码大全 | 硬件DIY | 企业服务 | 网吧在线 | 问吧 | 百科 | 硬件知识 | 本网视点 | 文库 | 手机 | 平板 | 汽车 | 游戏 | 家电 | 精彩摄影 | 时尚科技 | 现代家居 | IT女人 | 经验 | 每日新闻 | 健康养生 | 图书馆 | 精彩微信 | 猎奇 | 精彩看点 | 图库编程 方案 信息windows方案windows answer文档机构教育文档问答中心IT编程数码信息解决方案信息中心IT科技