flash as3.0关于碰撞的检测

我写了两个类文件一个是飞机的类文件一个是子弹的类文件,子弹要调用好多,怎么检测他们之间的碰撞,是在飞机类里写还是在主舞台写?还请高手指点详细方法... 我写了两个类文件 一个是飞机的类文件 一个是子弹的类文件,子弹要调用好多,怎么检测他们之间的碰撞,是在飞机类里写还是在主舞台写?还请高手指点详细方法 展开
 我来答
水无月星惜
2011-04-03 · TA获得超过122个赞
知道答主
回答量:89
采纳率:0%
帮助的人:123万
展开全部
  我觉得应该在主舞台写,毕竟这涉及到两个类
  一楼的思路是对的,就是语法有点问题,而且碰撞检测可以考虑用hitTestObject或hitTestPoint

  我之前给同学写过一个游戏,大量饼干人从右到左飞,玩家要碰到所有饼干人,不然就会减生命值,你可以参考一下这段代码(主要是懒得重新写了,以前写的这个注释很好)
  这里面碰撞和删除的代码都有了
  要注意if(bmList.length>0)这句,如果忘了这个条件,屏幕上没有子弹(数组为空)的时候就会出问题

  addEventListener(Event.ENTER_FRAME,always);
  function always(e:Event):void{
  //当屏幕上有饼干人的时候
  if(bmList.length>0){
  //控制所有的饼干人
  for(i=0;i<bmList.length;i++){
  //饼干人向左飞
  bmList[i].x -= 5;

  //当饼干人飞出屏幕的时候
  if(bmList[i].x<-100)
  {
  //把饼干人删掉
  bg.removeChild(bmList.splice(i,1)[0]);
  //生命值减一
  life--;
  //更新显示生命值的text box
  ts.life.text = "Life: "+life;
  }

  //如果玩家碰到饼干人
  if(player.hitTestObject(bmList[i])){
  //把饼干人删掉
  bg.removeChild(bmList.splice(i,1)[0]);
  //分数加一
  mark++;
  //更新显示分数的text box
  ts.mark.text = "Mark: "+mark;
  }
  }
  }
  }

  以上是我程序的一部分,原代码太长,这里就不贴声明变量和创建mc的部分了
  如果有什么不懂的可以再问
善思光电科技
2023-08-29 广告
X-ray无损检测是一种利用X射线源发射X射线,通过X射线探测器检测物体的内部结构,以检测物体的外部形状和内部结构。它可以在医学、工业和其他领域应用,用于检测物体的形状,内部构造,或者检测物体内部的缺陷。X-ray无损检测不仅可以对不可见焊... 点击进入详情页
本回答由善思光电科技提供
vicyanxinwei
2011-04-02 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:69
采纳率:0%
帮助的人:99.8万
展开全部
我的解决办法是:
先定义一个数组:var aaa:array
然后在你把子弹复制到舞台上的时候:
aaa.push(你复制出来的mc) 意思就是一个mc被数组里面的一个元素装起来了
那么你控制数组里面的一个元素 就等于控制了一个mc
比如说:aaa[0].x=500 就是你第一个复制出来的 mc的x坐标 等于 500
如果你是在进入帧的时候判断的话,那么就是:
this.addEventListener(Event.ENTER_FRAME, fun);
function fun(event:Event):void{
for(var i:string in aaa){//这里的意思是aaa数组每个元素都经历一遍
var n=Math.abs(飞机.x-aaa[i].x)//绝对值
var m=Math.abs(飞机.y-aaa[i].y)
if(n<10&&m<10){//飞机和子弹的距离同时小于10,就算它们碰撞吧
//这里面就是 碰撞之后你想做的事情了,我猜你要做的事情是把复制出来的子弹移除,呵呵
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FlashASer

2021-04-28 · Animate,Photoshop,职场经验,人生感悟!
FlashASer
采纳数:14298 获赞数:18655

向TA提问 私信TA
展开全部

Animate如何实现元件间碰撞检测(AS3)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式