zoukankan      html  css  js  c++  java
  • AS3碰撞检测

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

     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 }


    6、多物体碰撞检测方法

     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 }
  • 相关阅读:
    对map集合按照value从大到小进行排序
    个人总结
    《人件》阅读笔记3
    软件工程进度条-第十六周
    软件工程进度条-第十五周
    软件工程进度条-第十四周
    购书打折
    《人件》阅读笔记2
    《人件》阅读笔记1
    《构建之法》阅读笔记6
  • 原文地址:https://www.cnblogs.com/ztdy/p/3630793.html
Copyright © 2011-2022 走看看