Flash中简单跟踪弹的算法

算法

  我看到的一些作跟踪弹的方法,都是要用向限的转换,还要考虑子弹和飞机在某个方向保持平行时做一些调整,个人认为有些烦。而我这个用方向向量来计算跟踪弹的方式,无论坐标系如何变,相关的计算只有一个,把速度在X,Y方向的“单位方向向量”计算出来,即可。 学过向量的朋友应该都知道,单位方向向量(x,y),其中的X就是这个向量与X轴的夹角的余弦值,而Y就是正弦值,还等什么,马上行动。 核心代码如下: 
function Getdistance(mc1, mc2) {//计算了出二者———子弹与我机的距离  

return Math.sqrt((mc1._x-mc2._x)*(mc1._x-mc2._x)+(mc1._y-mc2._y)*(mc1._y-mc2._y));  

}  

function StardandlizeAngle(mc1, mc2) {//计算出子弹速度的方向向量。  

var l = Getdistance(mc1, mc2);  

mc1.VdirectionX=(mc2._x-mc1._x)/l;//单位方向向量中的X mc1.VdirectionY=(mc2._y-mc1._y)/l;//单位方向向量中的Y  

}  

function doMove(mc){//算出VX,VY,通过mc._x+=mc.vx //及mc._y+=mc.vy;实现动态效果  

mc.vx=mc.v*mc.VdirectionX;  

mc.vy=mc.v*mc.VdirectionY;  

mc._x+=mc.vx;  

mc._y+=mc.vy;  

} _root.onEnterFrame=function(){  

StardandlizeAngle(bullet,plane);  

doMove(bullet);  

}  
PS:其中对象的属性我是另个在一段AS脚本中用mc.prototype.属性(方法)=function(){[ } 个人比较喜欢用这种方式,尤其是一些物理属性频烦使用时,这就好比是一个小的物理属性库了,非常的方便。

时间: 2024-08-19 18:04:24

Flash中简单跟踪弹的算法的相关文章

PHP中简单实现数学组合算法

公式 有时候也表示成: c(n,m)=p(n,m)/m!=n!/((n-m)!*m!) 2性质 c(n,m)=c(n,n-m); 3递推公式 c(n,m)=c(n-1,m-1)+c(n-1,m) 等式左边表示从n个元素中选取m个元素,而等式右边表示这一个过程的另一种实现方法:任意选择n中的某个备选元素为特殊元素,从n中选m个元素可以由此特殊元素的分成两类情况,即m个被选择元素包含了特殊元素和m个被选择元素不包含该特殊元素.  代码如下 复制代码 <?php //实现数学上的组合数算法 heade

帮助你在Flash中操作的更快的JSFL命令集

js 先看个简单的例子. 新建文件:画一个正方形转为Graphic:按住Alt拖动复制一堆:全选并对齐,使它们完全重合:执行Commands>[KC] Shuffle,参数如下图: 参数的含义就是:1)在x轴向上0到500的范围内随机分布2)随机旋转180°以内的角度值3)随机生成20到80之间的透明值OK,看结果: 文档"> 开发这一套Flash Extensions的主要原因是AE中的一些很好的动画助手工具,Flash中没有或者功能比较弱.所以我为了增强Flash的动画功能,把常

Flash中的电影艺术之镜头技巧教程

技巧|教程 文章内容摘自<Flash动画与卡通制作创意导航>([美]Ibis Fernanadez著 罗小燕译 清华大学出版社) ,有改动,实例作品为若无说明为qhwa原创. 对于许多动画制作者来说,通过Flash获得电影般的效果十分困难,这样他们就不得不满足于非常规的处理方法或者静态画面,而这样又影响了他们的制作.只会说话的头十分枯燥,而且有时仅仅画出角色正确的动作和姿态是远远不够的. 电影艺术融化了摄影,舞蹈动作设计和影视编辑技术,其中影视编辑技术对于成功制作卡通动画来说起主导作用.通常,

Flash中oop的设计模式

设计 有人问我flash的as应该怎么写,我可以很负责任地告诉他,想怎么写就怎么写,因为as以及flash内部的构成模式决定了它的高度自由化.理论上来说,用按钮的on事件,加上stop(),play(),gotoAndStop(),gotoAndPlay(),就可以实现一个flash里大部分的逻辑关系,而且源代码简单易懂.但是大多数人不会这么做,是因为这种方法实在太让人敬佩.稍有常识的程序员都会知道面对对象与面对过程的区别.Flash的编程虽然只是以脚本的形式出现,并且还很不完善,比如,没有多继

Flash中声音的压缩与效果处理

压缩 在Flash中加入声音可以极大地丰富动画的表现效果,但如果我们辛辛苦苦编辑好的声音不能很好地与动画衔接,或者声音文件太大影响了Flash的运行速度,效果就会大打折扣.那么如何使Flash中的声音获得最佳效果呢?下面我们一起来探讨这个问题. 一.声音文件在Flash中的压缩 当我们将Flash文件导入到网页中时,由于网络速度的限制,我们不得不考虑Flash动画的大小,特别是带有声音的Flash动画.有什么办法在既不影响动画效果的同时又能减小数据量呢?一个可行的方法就是利用声音压缩,效果非常明

Flash 中的文字绕排效果

我们见过许多文字绕排的效果,使用得当,会给作品增色不少,而且现在可以做这个效果的工具也非常多,例如 CorelDraw ; FreeHand 等,把这应用进 Flash 该如何做呢?通常我们都是使用外部绘画工具如 FreeHand 做好绕排效果,然后输出标准的 *.AI 格式文件,然后再导入 Flash 来实现目的.那如果我们没有这样的第三方工具怎么办?可以独立在 Flash 中做出这个效果吗?答案是肯定的,虽然现在 Macromedia 已经将最新的 FreeHand 9 和 Flash 4

FLASH中的数据类型和变量研究

变量|数据|数据类型 一.FLASH中的数据类型 1.字符串值 例:mytext="f4",mytex就是字符串,字符串就是由字符组成的序列 2.数值 例 mynum=2 mynum就是数值,可以用数学运算符号对他们进行运算. 3.逻辑值 例 mypass=false mypass就是逻辑值假,逻辑值只有两个值,一个是 true:一个是false. 4.对象 对象是属性的集合,每个属性又有自己的名称和值,例如:a.b.c="阿", c的值是字符串"阿&qu

了解在Flash中的编程工作

编程 本文节选自<Flash MX professional 2004 第一步>(陈冰著) 第十八章 了解在Flash中的编程工作 妈妈,这扇大门好雄伟好辉煌啊,它通向哪里? 宝贝,它通向编程的世界,那是充满魔法的世界,进入那里,你将成为伟大的魔法师. 经历了此前整整十七章的学习,我们终于来到了编程世界的大门,大门敞开着,显然,它一直在等待我们的到来. 18.1 像软件设计师那样思考问题 我相信你们中有很多人只有很少或完全没有编程基础,否则,你就不会选择我写的这本<第一步>了.我们

Flash中开启全屏的窗口

难度: 中级软件环境: Flash 4 or 5, NS or IE 4 or higher. 我们在这个例子中有很多的需求,但是我不是一个JAVACSCRIPT程序员,所以我请人在网页中实现这一效果.大多数人觉得全屏很烦人,所以我们总结出一条经验:决不 在大家不需要全屏的时候实现它,因为这样做很烦人,不是吗?那好,我们继续. 我们要将这些代码拷贝粘贴到我们的HTML文件中.我对这段代码做了细微的改动以允许我们实现这一功能. 我接到的许多邮件中经常包含以下两个常见的错误: 在FLASH中发布HT