毕业论文 论文提纲 论文写作 公文范例 教育论文 教育学论文 师范教育 学术论文     论文指导*
                     
 
   
   
   
   
           
 

当前位置:课件115学培吧(kj115.com)→FLASH课件游戏开发教程→文章系列

 
 
标题:学习FLASH游戏中导弹追踪的算法
 
展示台

文章来源 作者:admin 密码:admin 整理:湖北金鹰

◇游戏开发栏目简介
内容是FLASH课件游戏制作教程,适合开发课件游戏,增加课件的感染力,适合高手学习,基础学习者可以参加我站的游戏开发视频教程的学习是最佳之选。

其它教程文章还有网侠教程图文教程等。
学习过程中如果需要相关的软件下载,你可以到本站软件下载专区去看看。

---------------

论文相关服务
 

湖北金鹰课件吧

代码如下:
请教大家一个关于势函数用到追踪和拦截的算法
有研究过的能不能指点一下!
PoweredBySunday
*/
varstepAngle:Number=3;
//角度最大增量
vartempNum:Number=0;
varradius:Number=100;
//导弹飞行半径
varM_speed:Number=3;
//导弹速度(非常量)
varP_speed:Number=5;
//飞机速度
findToHit(missile,target);
functionfindToHit(missile,target){
missile.onEnterFrame=function(){
_root.AngText=stepAngle;
if(missile.hitTest(target.hit)){
target.play();
missile._visible=false;
deletemissile.onEnterFrame;
}
//---------------击中目标
tempNum++;
if(tempNum==15){
if(stepAngle==2){
if(Math.abs(target._x-missile._x)>radius*2||Math.abs(target._y-missile._y)>radius*2){
stepAngle=3;
}
}elseif((Math.abs(target._x-missile._x)<30||Math.abs(target._y-missile._y)<30)){
stepAngle=2;
}
tempNum=0;
}
//---------------------改变角度增量-------------------------
P=newObject();
P.x=missile.way._x;
P.y=missile.way._y;
missile.localToGlobal(P);
dx=P.x-missile._x;
dy=P.y-missile._y;
dx1=target._x-P.x;
dy1=target._y-P.y;
//----------------------取得向量--------------------------
angle=Math.atan2(dy1,dx1)*180/Math.PI;
//-----------------------取得角度------------------------
angle=angle<=0?Math.abs(360+angle):angle;
M_angle=missile._rotation<0?360+missile._rotation:missile._rotation;
if(Math.abs(M_angle-angle)>stepAngle){
if(angle-M_angle>180){
M_angle+=-stepAngle;
}else{
M_angle+=angle<M_angle&&(M_angle-angle<180)?-stepAngle:+stepAngle;
}
missile._rotation=M_angle;
}
//---------------------改变导弹角度-----------------------
missile._x+=dx*M_speed/10;
missile._y+=dy*M_speed/10;
//-----------------------导弹移动---------------------
};
}
//-----------------------------追踪---------------------
listen=newObject();
listen.onKeyDown=function(){
onEnterFrame=function(){
if(Key.isDown(Key.RIGHT)){
target._x+=P_speed;
}elseif(Key.isDown(Key.LEFT)){
target._x-=P_speed;
}elseif(Key.isDown(Key.UP)){
target._y-=P_speed;
}elseif(Key.isDown(Key.DOWN)){
target._y+=P_speed;
}
};
};
Key.addListener(listen);
//----------------------------键盘控制--------------------------

 

 
课件115学培吧(湖北金鹰)欢迎您!永久免费服务网址:http://www.kj115.com
   
 

学员众多的FLASH课件学习基地,成万免费FLASH课件制作教程在线学习,还有免费内容课件教程、视频教程、课件技巧、课件探讨、课件欣赏、课件展示、实用教程、课件界面、课件脚本、课件游戏、课件下载、课件封面、课文内容图片、课文人物图片库、课件素材、图片素材、声音素材、动物素材、背景图片、背景资料、背景边框、课件顶栏图片素材、Dreamweaver教程、Dreamweaver网页课件教程、软件下载。承接学习和培训,承接课件订制,课件修改等所有课件相关服务。
本站主要业务:┃flash课件制作视频教程培训┃承接全国竞赛flash课件┃论文代写代发┃代办课件国家级获奖证书┃
联系:QQ:444860709 手机:13339817386


 
 

业务办理
鄂ICP备08005724号