/** * Draws everything normal, except the player will only be drawn, when the parameter is true * * @param drawPlayer */ private void drawBlinking(boolean drawPlayer) { while (!holder.getSurface().isValid()) { /*wait*/ } Canvas canvas = holder.lockCanvas(); bg.draw(canvas); for (Obstacle r : obstacles) { r.draw(canvas); } for (PowerUp p : powerUps) { p.draw(canvas); } if (drawPlayer) { player.draw(canvas); } fg.draw(canvas); pauseButton.draw(canvas); // Score Text Paint paint = new Paint(); paint.setColor(Color.BLACK); paint.setTextSize(getScoreTextMetrics()); canvas.drawText( game.getResources().getString(R.string.onscreen_score_text) + " " + game.accomplishmentBox.points + " / " + game.getResources().getString(R.string.onscreen_coin_text) + " " + game.coins, 0, getScoreTextMetrics(), paint); holder.unlockCanvasAndPost(canvas); }
/** * Draws all gameobjects on the canvas * * @param canvas */ private void drawCanvas(Canvas canvas) { bg.draw(canvas); for (Obstacle r : obstacles) { r.draw(canvas); } for (PowerUp p : powerUps) { p.draw(canvas); } player.draw(canvas); fg.draw(canvas); pauseButton.draw(canvas); // Score Text Paint paint = new Paint(); paint.setColor(Color.BLACK); paint.setTextSize(getScoreTextMetrics()); canvas.drawText( game.getResources().getString(R.string.onscreen_score_text) + " " + game.accomplishmentBox.points + " / " + game.getResources().getString(R.string.onscreen_coin_text) + " " + game.coins, 0, getScoreTextMetrics(), paint); }
/** Update sprite movements */ private void move() { for (Obstacle o : obstacles) { o.setSpeedX(-getSpeedX()); o.move(); } for (PowerUp p : powerUps) { p.move(); } bg.setSpeedX(-getSpeedX() / 2); bg.move(); fg.setSpeedX(-getSpeedX() * 4 / 3); fg.move(); pauseButton.move(); player.move(); }