我想在GameCanvas上绘制多个动态Sprite,例如枪击。
我有两个主要课程:GameCanvas
和GameController
GameController
持有我的枪射向量。
GameCanvas可以访问GameController
的精灵矢量和
它还有一个render()
方法,可以在屏幕上绘制精灵。
private void render() {
Graphics g = getGraphics();
layerManager.setViewWindow(0, 0, getWidth(), getHeight());
layerManager.paint(g, 0, 0);
flushGraphics();
}
LayerManager包含我想要绘制的所有精灵。
如何在屏幕上的GameController
矢量中绘制所有对象?
答案 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();
}