【发布时间】:2016-01-07 05:00:58
【问题描述】:
我对编程很陌生。基本上刚刚完成了一些教程和准系统说明。我想编写 pong 代码让自己开始尝试自己做一些事情,但我遇到了一些障碍。由于某种原因,我生成的球根本不会与我的玩家 1 桨交互,但它会与我的玩家 2 桨完全交互。我似乎无法弄清楚为什么,因为我基本上两次使用完全相同的代码只是为了纠正控件和位置的差异,所以任何帮助将不胜感激。我的球和桨之间的交互代码如下:
ballPos += ballSpd * (float)gameTime.ElapsedGameTime.TotalSeconds;
if (ballPos.X == plyr1Pos.X && ballPos.Y + 3 > plyr1Pos.Y - 25 && ballPos.Y - 3 < plyr1Pos.Y +25)
{
ballSpd.X = 150;
ballSpd.Y = 0;
}
else if (ballPos.X == plyr2Pos.X && ballPos.Y + 3 > plyr2Pos.Y - 25 && ballPos.Y - 3 < plyr2Pos.Y + 25)
{
ballSpd.X = -150
ballSpd.Y = 0;
}
我知道可能有一种更有效的方法可以做到这一点,但就像我说的那样,我对此仍然很陌生,想了解更多信息,因此欢迎任何建设性的批评。
【问题讨论】:
-
你的ballPos是在球的中心还是左上角?
-
ballPos 是球的中心
标签: c# detection monogame pong