document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. package net.dharmaraj;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import android.content.Context;
  7. import android.graphics.Bitmap;
  8. import android.graphics.BitmapFactory;
  9. import android.graphics.Canvas;
  10. import android.graphics.Color;
  11. import android.view.MotionEvent;
  12. import android.view.SurfaceHolder;
  13. import android.view.SurfaceHolder.Callback;
  14. import android.view.SurfaceView;
  15.  
  16. public class GameView extends SurfaceView {
  17.  
  18.     private Bitmap bmp;
  19.     private SurfaceHolder holder;
  20.     private GameLoopThread gameLoopThread;
  21.     private List<Sprite> sprites = new ArrayList<Sprite>();
  22.     private long lastClick;
  23.     private Bitmap bmpBlood;
  24.     private List<TempSprite> temps = new ArrayList<TempSprite>();
  25.  
  26.     public GameView(Context context) {
  27.         super(context);
  28.         gameLoopThread = new GameLoopThread(this);
  29.         holder = getHolder();
  30.         holder.addCallback(new Callback() {
  31.            
  32.             @Override
  33.             public void surfaceDestroyed(SurfaceHolder holder) {
  34.                 // TODO Auto-generated method stub
  35.                
  36.             }
  37.            
  38.             @Override
  39.             public void surfaceCreated(SurfaceHolder holder) {
  40.                 createSprites();
  41.                 gameLoopThread.setRunning(true);
  42.                 gameLoopThread.start();
  43.                
  44.             }
  45.            
  46.             @Override
  47.             public void surfaceChanged(SurfaceHolder holder, int format, int width,
  48.                     int height) {
  49.                 // TODO Auto-generated method stub
  50.             }
  51.             });
  52.         bmpBlood = BitmapFactory.decodeResource(getResources(), R.drawable.blood1);
  53.     }//end of Constructors
  54.    
  55.     private void createSprites() {
  56.         sprites.add(createSprite(R.drawable.bad1));
  57.         sprites.add(createSprite(R.drawable.bad2));
  58.         sprites.add(createSprite(R.drawable.bad3));
  59.         sprites.add(createSprite(R.drawable.bad4));
  60.         sprites.add(createSprite(R.drawable.bad5));
  61.         sprites.add(createSprite(R.drawable.bad6));
  62.         sprites.add(createSprite(R.drawable.good1));
  63.         sprites.add(createSprite(R.drawable.good2));
  64.         sprites.add(createSprite(R.drawable.good3));
  65.         sprites.add(createSprite(R.drawable.good4));
  66.         sprites.add(createSprite(R.drawable.good5));
  67.         sprites.add(createSprite(R.drawable.good6));
  68.   }//end of createSprites()
  69.    
  70.    
  71.     private Sprite createSprite(int resouce) {
  72.         Bitmap bmp = BitmapFactory.decodeResource(getResources(), resouce);
  73.         return new Sprite(this,bmp);
  74.   }//end of createSprite
  75.     @Override
  76.     protected void onDraw(Canvas canvas) {
  77.         canvas.drawColor(Color.BLACK);
  78.         for (int i = temps.size() - 1; i >= 0; i--) {
  79.             temps.get(i).onDraw(canvas);
  80.       }//end of for loop
  81.         for (Sprite sprite : sprites) {
  82.             sprite.onDraw(canvas);
  83.      }//end of for loop
  84.     }//end of onDraw
  85.    
  86.     @Override
  87.     public boolean onTouchEvent(MotionEvent event) {
  88.         if (System.currentTimeMillis() - lastClick > 300) {
  89.             lastClick = System.currentTimeMillis();
  90.         synchronized (getHolder()) {
  91.             float x=event.getX();
  92.             float y=event.getY();
  93.           for (int i = sprites.size()-1; i >= 0; i--) {
  94.                  Sprite sprite = sprites.get(i);
  95.                  if (sprite.isCollition(x,y)) {
  96.                         sprites.remove(sprite);
  97.                         temps.add(new TempSprite(temps, this, x, y, bmpBlood));
  98.                         break;
  99.                  }//end of if statement
  100.           }//end of for loop
  101.         }//end of synchronized (getHolder())
  102.         }//end of if statement
  103.           return true;
  104.     }//end of onTouchEvent()
  105. }//end of Class
');