@Override public boolean onTouchEvent(MotionEvent event) { // Only process if game is active if (GameActive && !GamePaused) { // If the next obstacle is not a tap type check for swipe if (nearestObstacle.getType() != Obstacle.TYPE.T_TAP && FingerDown == false) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { InitialPos.Set(event.getX(), event.getY()); } break; case MotionEvent.ACTION_MOVE: LastPos.Set(event.getX(), event.getY()); break; case MotionEvent.ACTION_UP: DirectionVector.Set(LastPos.operatorMinus(InitialPos)); break; } } // else check for tap else { if (event.getAction() == MotionEvent.ACTION_DOWN) { FingerDown = true; Tapped = true; } else if (event.getAction() == MotionEvent.ACTION_UP) { FingerDown = false; } } // Check if touch pause button if (event.getAction() == MotionEvent.ACTION_DOWN) { // If touch pause button if (CheckTouch( event.getX(), event.getY(), Pause_button.getPosX(), Pause_button.getPosY(), (int) Pause_button.getPosX() + Pause_button.getImgWidth(), (int) Pause_button.getPosY() + Pause_button.getImgHeight())) { GamePaused = true; } } return true; } else if (GameActive && GamePaused) { if (event.getAction() == MotionEvent.ACTION_DOWN) { if (CheckTouch( event.getX(), event.getY(), Unpause_button.getPosX(), Unpause_button.getPosY(), (int) Unpause_button.getPosX() + Unpause_button.getImgWidth(), (int) Unpause_button.getPosY() + Unpause_button.getImgHeight())) { GamePaused = false; } } return true; } // To process other taps while game is not active else { if (event.getAction() == MotionEvent.ACTION_DOWN) { // If touch restart button if (CheckTouch( event.getX(), event.getY(), Restart_button.getPosX(), Restart_button.getPosY(), (int) Restart_button.getPosX() + Restart_button.getImgWidth(), (int) Restart_button.getPosY() + Restart_button.getImgHeight())) { // Restart the game soundManager.PlaySFX(); Reset(); } // If touch mainmenu button else if (CheckTouch( event.getX(), event.getY(), Mainmenu_button.getPosX(), Mainmenu_button.getPosY(), (int) Mainmenu_button.getPosX() + Mainmenu_button.getImgWidth(), (int) Mainmenu_button.getPosY() + Mainmenu_button.getImgHeight())) { soundManager.PlaySFX(); Intent intent = new Intent(); intent.setClass(getContext(), Mainmenu.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); getContext().startActivity(intent); } } return true; } }
public void RenderGameplay(Canvas canvas) { // 2) Re-draw 2nd image after the 1st image ends if (canvas == null) { return; } canvas.drawBitmap(scaledbg, bgX, bgY, null); canvas.drawBitmap(scaledbg, bgX + ScreenWidth, bgY, null); // FPS canvas.drawText("FPS:" + FPS, 50, 75, paint); if (GameActive) { // Score // Only show score if endless mode if (GameMode == 0) { // Score canvas.drawText("Score:" + score, 800, 75, paint); } stickman_anim.draw(canvas); // Pause button canvas.drawBitmap( Pause_button.getImage(), Pause_button.getPosX(), Pause_button.getPosY(), null); // Adventure mode if (GameMode == 1) { // Adventure mode UI info canvas.drawBitmap( Progress_line.getImage(), Progress_line.getPosX(), Progress_line.getPosY(), null); canvas.drawBitmap( Progress_bar.getImage(), Progress_bar.getPosX(), Progress_bar.getPosY(), null); } } // Obstacles for (int i = 0; i < obstacleList.length; ++i) { // Only draw if active if (obstacleList[i].isActive()) { canvas.drawBitmap( obstacleList[i].getObstacle(), obstacleList[i].getPosX(), obstacleList[i].getPosY(), null); } } // Game is paused if (GamePaused) { // Paused Game canvas.drawBitmap( Pause_screen.getImage(), Pause_screen.getPosX(), Pause_screen.getPosY(), null); canvas.drawBitmap( Unpause_button.getImage(), Unpause_button.getPosX(), Unpause_button.getPosY(), null); } // Game is lost if (GameActive == false) { if (Win) { canvas.drawBitmap(Win_screen.getImage(), Win_screen.getPosX(), Win_screen.getPosY(), null); } else { canvas.drawBitmap( Gameover_screen.getImage(), Gameover_screen.getPosX(), Gameover_screen.getPosY(), null); // Only if endless we display the score if (GameMode == 0) { // Score canvas.drawText("Score:" + score, 800, 500, paint); } } canvas.drawBitmap( Restart_button.getImage(), Restart_button.getPosX(), Restart_button.getPosY(), null); canvas.drawBitmap( Mainmenu_button.getImage(), Mainmenu_button.getPosX(), Mainmenu_button.getPosY(), null); } }