《游戏中导弹追踪的算法》由会员分享,可在线阅读,更多相关《游戏中导弹追踪的算法(5页珍藏版)》请在金锄头文库上搜索。
1、游戏中导弹追踪的算法 作者:happyclub 类型:原创 来源:闪吧论坛先看下效果吧:代码如下:/* 请教大家一个关于势函数用到追踪和拦截的算法 有研究过的能不能指点一下! Powered By Sunday Email: */ var stepAngle:Number = 3; /角度最大增量 var tempNum:Number = 0; var radius:Number = 100; /导弹飞行半径 var M_speed:Number = 3; /导弹速度(非常量 ) var P_speed:Number = 5; /飞机速度 findToHit(missile, target);
2、 function findToHit(missile, target) missile.onEnterFrame = function() _root.AngText = stepAngle; if (missile.hitTest(target.hit) target.play(); missile._visible = false; delete missile.onEnterFrame; /-击中目标 tempNum+; if (tempNum = 15) if (stepAngle = 2) if (Math.abs(target._x-missile._x)radius*2 | M
3、ath.abs(target._y-missile._y)radius*2) stepAngle = 3; else if (Math.abs(target._x-missile._x)stepAngle) if (angle-M_angle180) M_angle += -stepAngle; else M_angle += angleM_angle missile._rotation = M_angle; /-改变导弹角度- missile._x += dx*M_speed/10; missile._y += dy*M_speed/10; /-导弹移动- ; /-追踪- listen =
4、new Object(); listen.onKeyDown = function() onEnterFrame = function () if (Key.isDown(Key.RIGHT) target._x += P_speed; else if (Key.isDown(Key.LEFT) target._x -= P_speed; else if (Key.isDown(Key.UP) target._y -= P_speed; else if (Key.isDown(Key.DOWN) target._y += P_speed; ; ; Key.addListener(listen); /-键盘控制-看看源文件: 游戏中导弹追踪算法.rar