【问题标题】:make Ball bounce off object edges in C使球在C中从物体边缘反弹
【发布时间】:2015-09-19 10:54:26
【问题描述】:

我正在尝试让球从矩形桨的边缘反弹,到目前为止我所做的是让球从桨的顶部边缘反弹。但是每当球接触到任何另一侧(右侧或左侧)时,它就会卡在桨内,不会反弹。

为了让球从桨的顶部反弹,我使用了下面的直接代码:

// bounce ball off paddle
        if (object == paddle)
        {
                velocityY = -velocityY;
        }

谁能帮我增强此代码,以便它可以检测球是否接触了球拍的右侧或左侧,并使其弹开。

请注意,我使用的是 C。

谢谢,

【问题讨论】:

    标签: c angle rectangles bounce


    【解决方案1】:

    就像你对 Y 轴所做的那样,在碰撞集之后

    velocityX = -velocityX
    

    如果你想要“更精致”的东西,你可以尝试制作类似的东西

    if (currentX + ball_radius >= MAX_WIDTH)
        velocityX = -velocityX;
    if (currentY + ball_radius >= MAX_HEIGHT)
        velocityY = -velocityY;
    

    其中的点 (currentX, currentY) 代表球的中心。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-23
      • 1970-01-01
      • 2018-12-20
      相关资源
      最近更新 更多