我刚开始在futurelearn.com学习编程课程。
我有一个位图和一个球。任务是编码x方向的边界。
工作代码如下所示:
if ((mBallX <= mBall.getWidth()/2 && mBallSpeedX < 0) || (mBallX >= mCanvasWidth - mBall.getWidth()/2 && mBallSpeedX > 0)){
mBallSpeedX = -mBallSpeedX;
但我有一个合乎逻辑的问题。我想明白为什么我不能使用&#34; ==&#34;而不是&#34;&lt; =&#34;。当我这样做时,球飞出屏幕的右侧。
这是一个了解的视频。它应该包含所有可能缺少的信息。:
https://www.futurelearn.com/courses/begin-programming/7/steps/42942
答案 0 :(得分:0)
请记住,球不会连续移动 - 您可以按固定尺寸的不连续步骤移动它。结果,球不太可能完全最终在屏幕的一端或另一端。相反,它更可能意外地超过屏幕的一侧超过一些微量。如果您检查屏幕侧面的球是否正好,则您无法正确解释这些情况。另一方面,如果您询问球是否移过屏幕的两侧,那么您将正确地考虑这些情况。