【发布时间】:2014-03-11 02:50:33
【问题描述】:
所以我有这个立方体我想从墙上反弹,(现在只是 x 轴)但是它移动 当它到达帧的末尾时,它会前后移动而不是相反的方向。
public void moveBox(int dx,int dy)
{
if(xLeft < 0 || xLeft > frame_width)
{
dx = -dx;
}
xLeft = xLeft + dx;
repaint();
}
如果 xLeft(即立方体的原点坐标通过框架)然后 dx(即其移动的速度)变为负数,这就是我从代码中理解的内容,这应该翻转方向。当它回到零时,双重否定会将其翻转回正数。我的逻辑是有缺陷的,因为它没有弹跳它只是在帧的末尾来回浮动
但事实并非如此,我不明白为什么会这样,因为每次调用该方法时都会使用不同的 xLeft 值?如果是这样的话,我应该怎么做才能让它反弹?我尝试了很多不同的东西,似乎没有什么能完全反弹
【问题讨论】:
-
看看this answer 是否有帮助。查看
Ball类中的animate方法。
标签: java graphics jframe cube bounce