Advertisement
Guest User

Codigo

a guest
Sep 9th, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.19 KB | None | 0 0
  1. package com.dotjogoqualquer;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Random;
  5.  
  6. import android.content.Context;
  7. import android.graphics.Canvas;
  8. import android.graphics.Color;
  9. import android.graphics.Paint;
  10. import android.util.Log;
  11. import android.view.MotionEvent;
  12. import android.view.View;
  13.  
  14. public class JogoView extends View implements Runnable{
  15.    
  16.     private static final int INTERVALO = 50;
  17.     private boolean running = true;
  18.     private Paint paint;
  19.     private Thread Jogo_Thread;
  20.     private int adicionados = 0;
  21.     private ArrayList<objetos> obj = new ArrayList<objetos>();
  22.  
  23.     public JogoView(Context context) {
  24.         super(context);
  25.        
  26.         paint = new Paint();
  27.         Jogo_Thread = new Thread(this);
  28.         Jogo_Thread.setPriority(Thread.MIN_PRIORITY);
  29.         Jogo_Thread.start();
  30.     }
  31.  
  32.     @Override
  33.     public void run() {
  34.         while (running){
  35.             try {
  36.                 Thread.sleep(INTERVALO);
  37.             } catch (InterruptedException e) {
  38.                 Log.e("THREAD", e.getMessage());
  39.             }
  40.             update();
  41.         }
  42.     }
  43.     public void update() {
  44.         if (obj.size() >= 1){
  45.             for(int x = 0; x < obj.size(); x++) {
  46.                 obj.get(x).y -= 15;
  47.                 if (obj.get(x).y < -50) {
  48.                     obj.remove(x);                   // <<<=================== AQUI
  49.                 }
  50.             }
  51.         }
  52.         postInvalidate();
  53.     }
  54.     public void draw(Canvas canvas) {
  55.         super.draw(canvas);
  56.         canvas.drawColor(Color.BLACK);
  57.        
  58.         for(objetos e: obj) {
  59.             paint.setColor(e.cor);
  60.             canvas.drawCircle(e.x, e.y, e.raio, paint);
  61.         }
  62.     }
  63.  
  64.     public void release() {
  65.         running = false;
  66.     }
  67.  
  68.     public boolean onTouchEvent(MotionEvent event) {
  69.         // ......
  70.         switch(event.getAction()) {
  71.             case MotionEvent.ACTION_DOWN:
  72.                  int touchX = (int) event.getX();
  73.                  int touchY = (int) event.getY();
  74.                  obj.add(new objetos());
  75.                  obj.get(adicionados).x = touchX;
  76.                  obj.get(adicionados).y = touchY;
  77.                  obj.get(adicionados).raio = 10;
  78.                  obj.get(adicionados).CorAleatoria();
  79.                  adicionados++;
  80.                  break;
  81.         }
  82.         return super.onTouchEvent(event);
  83.     }
  84. }
  85. class objetos{
  86.     int x;
  87.     int y;
  88.     int raio;
  89.     int cor = Color.BLUE;
  90.     public void CorAleatoria() {
  91.         int[] cores = {Color.BLUE, Color.RED, Color.YELLOW, Color.GREEN};
  92.         int ale  = new Random().nextInt(cores.length);
  93.         this.cor = cores[ale];
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement