Java ME在GameCanvas上绘制多个动态Sprite

时间:2013-03-13 05:46:50

标签: graphics java-me midp lcdui gamecanvas

我想在GameCanvas上绘制多个动态Sprite,例如枪击。

我有两个主要课程:GameCanvasGameController

GameController持有我的枪射向量。

GameCanvas可以访问GameController的精灵矢量和 它还有一个render()方法,可以在屏幕上绘制精灵。

private void render() {
            Graphics g = getGraphics();

            layerManager.setViewWindow(0, 0, getWidth(), getHeight());
            layerManager.paint(g, 0, 0);

            flushGraphics();
}

LayerManager包含我想要绘制的所有精灵。

如何在屏幕上的GameController矢量中绘制所有对象?

1 个答案:

答案 0 :(得分:0)

我认为可以这样做:

Graphics g = getGraphics(); // No need to get this each time you render. Get it once outside the render function

private void render() {

  layerManager.setViewWindow(0, 0, getWidth(), getHeight());
  layerManager.paint(g, 0, 0);

  // Loop through the vector
  for (Enumeration en = gunshotVector.elements(); en.hasMoreElements();) {
    ((Sprite)en).paint(g);
  }

  flushGraphics();
}