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 }
  • 相关阅读:
    《人月神话》读后感
    软件工程心得体会(十一)
    Arch + Win10 EFI 引导重装记录
    BurpSuite 的使用
    Wireshark 的使用
    Android 中的反调试技术
    IDA 对 so 的动态调试
    Smail 中的一些点
    IDA 对 SO 的逆向
    动态调试smali代码
  • 原文地址:https://www.cnblogs.com/ztdy/p/3630793.html
Copyright © 2011-2022 走看看