我正在做一个简单的游戏,我有一个名为 GameLoop 的类,在 run() 方法中,代码将画布的引用传递给绘制圆的方法。这段代码只是一些测试代码。
我的问题是,如果我想创建几个带有圆圈的精灵对象(类)并在游戏开始时将它们放入列表中,我该如何传递画布的引用?我以前做过这个,但后来我在每个精灵对象中使用了位图,只是传递了图像的引用,但在这种情况下,我不确定我会怎么做,因为画布在 run() 方法中,我想在一开始就用 initializeGameObjects() 之类的方法创建我的精灵对象。我希望我的问题不清楚!?一些帮助!谢谢!
// Game loop ---------------------------------------
@Override
public void run() {
// TODO Auto-generated method stub
while (gameRunning) {
if (!surfaceHolder.getSurface().isValid())
continue;
canvas = surfaceHolder.lockCanvas();
// Call method to draw objects on screen
drawObjects(canvas);
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
// End game loop ---------------------------------------
// Method that draw everything on canvas
private void drawObjects(Canvas canvas) {
// Test
paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
// Clear screen with black color
canvas.drawRGB(0, 0, 0);
// Draw a circle
canvas.drawCircle(100, 100, 100, paint);
}