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 }
  • 相关阅读:
    从首页问答标题到问答详情页
    首页列表显示全部问答,完成问答详情页布局。
    制作首页的显示列表。
    记此次团队合作
    软件设计规格说明书
    软件工程(2018)第二次团队作业
    团队作业1
    结对作业2
    结对编程1
    第三次作业——题目(1)
  • 原文地址:https://www.cnblogs.com/ztdy/p/3630793.html
Copyright © 2011-2022 走看看