如何让图形在java中从屏幕上消失?

时间:2013-09-02 05:32:24

标签: java graphics

我正在开发一款类似于砖头的游戏,我想要一些东西在它被击中时从屏幕上消失。我完成了碰撞检测,这是代码:

        Rectangle r1 = new Rectangle(x,y, 100,25);
        Rectangle r2 = new Rectangle(120,15, 90,40);
        Rectangle r3 = new Rectangle(10,15, 90,40);
        Rectangle r4 = new Rectangle(230, 15, 90, 40);
        Rectangle r5 = new Rectangle(xb, yb, 30,29);
        g.setColor(Color.RED);
        g.fillRect(r1.x, r1.y, r1.width, r1.height);
        g.setColor(Color.YELLOW);
        g.fillRect(r2.x, r2.y, r2.width, r2.height);
        g.setColor(Color.YELLOW);
        g.fillRect(r3.x, r3.y, r3.width, r3.height);
        g.setColor(Color.BLUE);
        g.fillRect(r5.x, r5.y, r5.width, r5.height);
        g.setColor(Color.YELLOW);
        g.fillRect(r4.x, r4.y, r4.width, r4.height);
        if (r5.intersects(r1))
        {
            velxb = -velxb;
            velyb = -velyb; 
        }
        if (r5.intersects(r2))
        {
            g.drawString("Hello", 10, 10);
        }
        if (r5.intersects(r3))
        {
            g.drawString("Hello", 10, 10);
        }
        if (r5.intersects(r4))
        {
            g.drawString("Hello", 10, 10);
        }

正如你所看到的,我做了几个矩形并完成了碰撞检测。但是,当r5r2r3r4相交时,我希望它消失。

1 个答案:

答案 0 :(得分:2)

绘画是一个破坏性的过程。每次调用paintXxx方法时,都需要重建输出,即清除现有的Graphics上下文并重新绘制所需的所有内容。

你的引擎应该做出关于应该对模型产生什么影响的所有决定,并且UI应该渲染模型......不建议在你的绘画过程中进行碰撞检测