有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法将更新的画布绘制到活动

我们正在尝试为Android编写2048的一个小克隆。我们在背景网格上绘制瓷砖。 最初,我们在活动中设置位图(背景)和画布(游戏画布),如下所示:

ImageView canvasBackgroundImage = findViewById(R.id.imageCanvas);
background = BitmapFactory.decodeResource(getResources(), R.drawable.grid4x4_background).copy(Bitmap.Config.ARGB_8888, true);
canvasBackgroundImage.setImageBitmap(background);
gameCanvas = new Canvas(background);
canvasHandler = new CanvasHandler(gameCanvas);
gameCanvas = canvasHandler.drawGridToCanvas(gameGrid,background);

然后,在每次游戏移动之后,我们希望canvasHandler将带有新游戏状态的新画布传递给我们,并将其绘制到屏幕上(gameGrid是游戏的状态)

private void updateCanvas() {
        gameCanvas = canvasHandler.drawGridToCanvas(gameGrid,background);
}

这不管用。我们试过view.invalidate(),但也没用

这是CanvasHandler中的drawGridToCanvas()方法:

public Canvas drawGridToCanvas(Grid grid, Bitmap background) {
        canvas = new Canvas(background);
        drawTileAtLocation(2,3);
        //dummy method
        return canvas;
}

共 (0) 个答案