首页 > 其他 > 详细

AS3碰撞检测

时间:2014-03-28 23:00:50      阅读:601      评论:0      收藏:0      [点我收藏+]

hitTest 总结
那么在两个不规则的物体间如何检测碰撞?很遗憾,用 hitTest 方法无法实现。
下面总结一下,hitTest 的基本设置:
■ 对于矩形影片,使用 hitTestObject(displayObject)。
■ 对于非常小的影片,使用 hitTestPoint(x, y, true) 注意将 shapeFlag 设置为 (true)。
■ 对于非常不规则的影片图形,如果不要求非常精确或自定义一些解决方法的话,那么也
可以使用 hitTestPoint(x, y, true)。
4、如果对象是圆形的物体,那么使用距离碰撞检测方法将是最好的选择。
5、弹性碰撞:碰到后根据角度算出目标位置

bubuko.com,布布扣
 1 if(dist < minDist) {
 2 var angle:Number = Math.atan2(dy, dx);
 3 var tx:Number = ball0.x + Math.cos(angle) * minDist;
 4 var ty:Number = ball0.y + Math.sin(angle) * minDist;
 5 var ax:Number = (tx - ball1.x) * spring;
 6 var ay:Number = (ty - ball1.y) * spring;
 7 ball0.vx -= ax;
 8 ball0.vy -= ay;
 9 ball1.vx += ax;
10 ball1.vy += ay;
11 }
bubuko.com,布布扣

 


6、多物体碰撞检测方法

bubuko.com,布布扣
 1 numSprites = 6;
 2 for (i = 0; i < numSprites - 1; i++) {
 3 spriteA = sprites[i];
 4 for (j = i + 1; j < numSprites; j++) {
 5 spriteB = sprites[j];
 6 if (spriteA.hitTestObject(spriteB)) {
 7 // do whatever
 8 }
 9 }
10 }
bubuko.com,布布扣

AS3碰撞检测,布布扣,bubuko.com

AS3碰撞检测

原文:http://www.cnblogs.com/ztdy/p/3630793.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!