用Java实现一个简单的游戏(与图形相关)

时间:2011-06-08 21:21:50

标签: java graphics java-2d

我是Java游戏编程的新手,特别是在图形方面,因此我想就如何用Java在图形上实现以下游戏寻求一些建议。

游戏很简单,它显示一个方块,进一步划分为2x2盒子,游戏玩法是将总共44个筹码放入这4个盒子中,用户应该可以拖放筹码从一个盒子到另一个盒子。

就是这样!我的问题:

  1. 是否有现成的库我可以用来绘制由4个盒子和芯片组成的方块?
  2. 如果1)的答案为否,那么我是否可以按照自己编程的方式进行编程?
  3. 如何以图形方式实现拖放部分?
  4. 非常感谢。

2 个答案:

答案 0 :(得分:2)

筹码可以通过添加到JLabel的图标来表示。

正方形可以用JPanel表示。

首先阅读How to Use Icons上的Swing教程中的部分。还有其他感兴趣的部分:如何使用面板,使用布局管理器,如何编写MouseListener,拖放部分可能。

答案 1 :(得分:-1)

我会使用Canvas并覆盖绘图(Graphics g)并使用它绘制各种元素。然后你可以用计时器或游戏循环调用repaint()。

public class MyCanvas extends Canvas
{
    public void gameLoop()
    {
        //Don't do it this way, this is just a quick example.
        //Instead look up better game loop options.
        while (true)
        {
            repaint(); //automatically calls paintComponent
            Thread.yield();
        }
    }

    //Put all the stuff that gets drawn in here.
    //@Override
    public void paint(Graphics g)
    {
        super.paint(g);

        for (int i = 0; i < chips.size(); i++)
        {
            chips.get(i).draw(g);
        }
    }
}

public class Chip
{
    private int x;
    private int y;

    public void draw(Graphics g)
    {
        g.setColor(Color.BROWN);
        g.fillRect(x, y, 50, 50);
        //etc.
    }
}