相关疑难解决方法(0)

如何找到直线和矩形之间的交点?

我有一条从A点到B点的线; 我有(x,y)这两点.我还有一个以B为中心的矩形以及矩形的宽度和高度.

我需要找到与矩形相交的线中的点.有没有一个公式给我这一点的(x,y)?

algorithm geometry intersection line

50
推荐指数
7
解决办法
6万
查看次数

与AABB矩形线交叉?

优选地,不使用任何类型的循环,因为这将在游戏中使用.

我希望将一条线与一个任意大小的矩形相交.但我也希望返回交叉点[s].

这是可能的,我做了一些谷歌搜索,但仍然没有解决.

该线使用(x1,y1,x2,y2)定义.矩形也有这两点.

c# intersection collision-detection line

16
推荐指数
1
解决办法
2万
查看次数

边界矩形碰撞 - 球跳过桨的错误一侧

我正在制作Pong游戏,我遇到了一个问题.当球(一个矩形)与球拍下方或上方的球拍(或球棒)碰撞时,我得到一个奇怪的错误,球进入矩形并左右 - 左 - 右达到高速(因为我添加了)加速)并在对面跳出来.我知道为什么会发生这个错误:

if (ballrec.Intersects(player1rec)
        && ball.x <= 20
        && ball.y + 20 >= player.y
        && ball.y <= player.y + 100) //checks the front rebound-here's the bug
{
    ball.vx *= -1; //changes x-direction
    if (ball.vx < 0)
        ball.vx -= 1; //increases x-velocity
    effect.Play();
    if (R.Next(4) == 0)
    {
        if (ball.vy < 0) ball.vy--;
        else ball.vy++; //increases y-velocity on a special occasion
    }
}
else
{
    if (ballrec.Intersects(player1rec))
    {
        ball.vy *= -1;
        effect.Play();
    }
}
Run Code Online (Sandbox Code Playgroud)

ball.vy = velocity y-axis:我将它乘以-1以改变方向 …

c# xna collision-detection rectangles collision

5
推荐指数
1
解决办法
498
查看次数