【发布时间】:2013-09-26 01:36:11
【问题描述】:
请看下面的代码... 球像普通球一样弹跳,但随后球停止,然后从 GUI 上下沉。关于此代码可能有什么问题的任何想法?
public void verticalBounce(Container container) {
deltaY = deltaY - gravity;
y = y + deltaY;
if (y >= getHeight()) {
deltaY = -deltaY;
deltaY = (int) (deltaY * 0.9);
y -= -deltaY;
}
}
【问题讨论】:
-
也许问题是这一行
y -= -deltaY;你不打算再次将 deltaY 添加到 y ,但这就是你正在做的事情。y = y + deltaY -
也试过了。仍然停止然后下沉
-
我原以为一旦胆汁超过可视区域的高度,您将不得不 1- 反转 delta 并 2- 重置对象的位置。所以
deltaY *= -1和y = getHeight()或类似的东西......假设你想投球...... -
@golf_pro90 他的意思是改用
y -= deltaY。 -
作为一个可能的概念/想法的example
标签: java math user-interface jpanel gravity