我尝试在android中构建2D蛇游戏。实际上,我是从通过构建android游戏学习Java 一书中学到的。对于初学者来说,这真的很酷。顺便说一下,我在制作这款游戏时遇到了一些问题。我不知道如何添加背景图片或颜色。我的代码如下:
public void drawGame() {
if (ourHolder.getSurface().isValid()) {
canvas = ourHolder.lockCanvas();
//Paint paint = new Paint();
canvas.drawColor(Color.WHITE);//the background
paint.setColor(Color.argb(255, 51, 0, 0));
paint.setTextSize(topGap/2);
canvas.drawText("Score: " + score + " Lives: "+lives+" Hi:" + hi, 10, topGap-6, paint);
//draw a border - 4 lines, top right, bottom , left
paint.setStrokeWidth(3);//4 pixel border
canvas.drawLine(1,topGap,screenWidth-1,topGap,paint);
canvas.drawLine(screenWidth-1,topGap,screenWidth-1,topGap+(numBlocksHigh*blockSize),paint);
canvas.drawLine(screenWidth-1,topGap+(numBlocksHigh*blockSize),1,topGap+(numBlocksHigh*blockSize),paint);
canvas.drawLine(1,topGap, 1,topGap+(numBlocksHigh*blockSize), paint);
//Draw the snake
canvas.drawBitmap(headBitmap, snakeX[0]*blockSize, (snakeY[0]*blockSize)+topGap, paint);
//Draw the body
for(int i = 1; i < snakeLength-1;i++){
canvas.drawBitmap(bodyBitmap, snakeX[i]*blockSize, (snakeY[i]*blockSize)+topGap, paint);
}
//draw the tail
canvas.drawBitmap(tailBitmap, snakeX[snakeLength-1]*blockSize, (snakeY[snakeLength-1]*blockSize)+topGap, paint);
//draw the apple
canvas.drawBitmap(appleBitmap, appleX*blockSize, (appleY*blockSize)+topGap, paint);
ourHolder.unlockCanvasAndPost(canvas);
}
}
我还尝试实现我的边界,以便蛇可以越过边界的任何一侧并像相反一样从另一侧返回。像蛇一样,在边界的右侧走,从左侧返回而又不离开生命。请帮助我