在JPanel中绘制移动对象

时间:2016-11-20 07:58:52

标签: java swing jpanel draw

我正在尝试用射手和移动气球进行游戏。

在GameControler中,我有2个带气球和箭头的列表以及我必须在屏幕上绘制的列表。我有一个类GUI,在游戏未运行时绘制JPanel Menu,在游戏运行时绘制图形游戏。在GameControler课程中,我计算时间并确定帧数/秒。

我不是t know how to paint those 2 list on screen ( with moving objects ). I tried to extend JPanel or implements Canvas`但没有任何帮助,因为我需要在GUI中执行一个函数,在调用时将绘制所有对象。

class GameControler
..........
@Override
public void run() {
    double lastTime = System.currentTimeMillis();
    while(true)
    {
        if(frameTime(lastTime) == false)
            continue;
        Gui.update();
        if(Gui.getInGameGui() == true)
        {               
            keyboardListener = new KeyboardListener();
            gameState = new GameState(Level, ArrowList, BalloonList);
            while(gameState.isLevelRunning() == true)
            {
                if(frameTime(lastTime) == false)
                    continue;
                gameState.update();
                deseneazaObiecteJoc();
            }
            Gui.setInGameGui(false);
            Gui.update();
            FinalScore = gameState.getSocre();
        }            
        lastTime = System.currentTimeMillis();
    }
 }

private boolean frameTime(double lastTime) {
    if(System.currentTimeMillis() - lastTime < 20)
        {
            try {
                Thread.sleep(1);
            } catch (InterruptedException ex) {
            }  
            return false;
        }
    return true;
}

0 个答案:

没有答案