Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2015
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. public class Game extends Activity implements OnTouchListener {
  2.  
  3. GameView gameView;
  4. Bitmap square;
  5. Bitmap redSquare;
  6. float x, y;
  7. Random random;
  8. float redSquareY, redSquareX;
  9. long lastSquareTime;
  10. ArrayList<Bitmap> list;
  11.  
  12. @Override
  13. protected void onCreate(Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. gameView = new GameView(this);
  16. gameView.setOnTouchListener(this);
  17. square = BitmapFactory.decodeResource(getResources(), R.drawable.square);
  18. x = y = 200;
  19. list = new ArrayList<Bitmap>();
  20. startRedSquares();
  21. setContentView(gameView);
  22. if(System.nanoTime() - lastSquareTime > 1500000000){ startRedSquares();
  23. }
  24. }
  25.  
  26. private void startRedSquares() {
  27. redSquare = BitmapFactory.decodeResource(getResources(), R.drawable.redsquare);
  28. list.add(redSquare);
  29. lastSquareTime = System.nanoTime();
  30. random = new Random();
  31. redSquareX = 500;
  32. redSquareY = random.nextInt(400);
  33. }
  34.  
  35. @Override
  36. protected void onPause() {
  37. super.onPause();
  38. gameView.pause();
  39. }
  40.  
  41. @Override
  42. protected void onResume() {
  43. super.onResume();
  44. gameView.resume();
  45. }
  46.  
  47. public class GameView extends SurfaceView implements Runnable{
  48.  
  49. Thread thread = null;
  50. SurfaceHolder holder;
  51. boolean running = false;
  52. Canvas canvas;
  53.  
  54. public GameView(Context context) {
  55. super(context);
  56. holder = getHolder();
  57.  
  58. }
  59.  
  60. @Override
  61. public void run() {
  62.  
  63. while(running == true){
  64. if(!holder.getSurface().isValid()){
  65. continue;
  66. }
  67.  
  68. canvas = holder.lockCanvas();
  69. canvas.drawRGB(100, 100, 100);
  70. canvas.drawBitmap(square, x - (square.getWidth()/2), y - (square.getHeight()/2), null);
  71. canvas.drawBitmap(redSquare, redSquareX, redSquareY, null);
  72. holder.unlockCanvasAndPost(canvas);
  73. y = y + 4;
  74. redSquareX = redSquareX - 1;
  75.  
  76. }
  77.  
  78. }
  79.  
  80. public void pause(){
  81. running = false;
  82. while(true){
  83. try{
  84. thread.join();
  85. } catch (InterruptedException e){
  86. e.printStackTrace();
  87. } break;
  88. } thread = null;
  89. }
  90.  
  91. public void resume(){
  92. running = true;
  93. thread = new Thread(this);
  94. thread.start();
  95. }
  96.  
  97. }
  98.  
  99. @Override
  100. public boolean onTouch(View view, MotionEvent event) {
  101.  
  102. try {
  103. Thread.sleep(50);
  104. } catch (InterruptedException e) {
  105. e.printStackTrace();
  106. }
  107.  
  108. switch(event.getAction()){
  109. case MotionEvent.ACTION_DOWN:
  110. y = y - 100;
  111. break;
  112.  
  113. }
  114.  
  115. return true;
  116. }
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement