代码之家  ›  专栏  ›  技术社区  ›  Jérôme

CeeBot:使机器人倾斜

  •  2
  • Jérôme  · 技术社区  · 14 年前

    使用CeeBot,我还没有找到一种方法来获得机器人的倾斜角度。

    例如,如果机器人必须向敌人射击,它必须改变炮的角度来瞄准敌人。

    但如果机器人不是在平坦的地面上,而是在陡坡上,那么佳能的角度就必须考虑陡坡的角度。

    1 回复  |  直到 12 年前
        1
  •  1
  •   Shay    11 年前

    你在寻找你的机器人的“音高”值。

    例如,这个相对简单的代码段找到最近的TargetBot,然后使用螺距值加上一些基本三角函数将正确的值输入aim()

    //our variables
    object KillMe;
    float range;
    float ZDif;
    float absoluteElevation;
    float correctedElevation;
    
    
    //calculate the angle we need to adjust our cannon
    range = distance(this.position, KillMe.position);
    absoluteElevation = atan((KillMe.position.z - position.z)/distance(this.position,KillMe.position));
    correctedElevation = absoluteElevation - pitch;
    
    aim(correctedElevation);
    fire(0.1);