我尝试做作业,并编写突破游戏。现在,我编写了这个游戏的基本功能完成。但我想增加奖金当球碰撞奖金砖时,我编写方法来检查它们并获取球碰撞的颜色形式对象。
} else if(color == Color.BLACK){
double xBonus = ball.getX() +20;
double yBonus = ball.getY() +20;
remove(ball);
ball = new GOval(xBonus, yBonus, BALL_RADIUS+20, BALL_RADIUS+20);
ball.setFilled(true);
ball.setFillColor(Color.RED);
add(ball);
GObject collider = getCollidingObject();
我使用碰撞器来检测球碰撞的物体
但当球撞击奖金砖时。球的尺寸增加了,但碰撞器检测到新的球对象是砖 block ,并通过游戏边缘弹跳球。
请帮助我..抱歉,我的语法错误。
最佳答案
我相信您想在 ball.getX 和 ball.getY 赋值中使用 * 20。
听起来新的球对象与原始游戏面板不在同一实例中。您应该确保在玩游戏的面板上的同一实例中接受新的球对象。
如果您展示更多代码,我也许可以更具体。
关于java - 为什么我不能删除并绘制相同的 java 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11542169/