Advertisement
Guest User

Untitled

a guest
Oct 20th, 2011
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.36 KB | None | 0 0
  1. package android.project.gameview;
  2.  
  3. import java.util.ArrayList;
  4.  
  5. import android.content.Context;
  6. import android.util.AttributeSet;
  7. import android.view.MotionEvent;
  8. import android.view.SurfaceHolder;
  9. import android.view.SurfaceView;
  10.  
  11. public class View extends SurfaceView implements SurfaceHolder.Callback {
  12.  
  13.     private SurfaceHolder mSurfaceHolder;
  14.    
  15.     /**
  16.      * Поток, рисующий в области
  17.      */
  18.     private Manager mThread;
  19.  
  20.     public View(Context context, AttributeSet attrs) {
  21.         super(context, attrs);
  22.         // TODO Auto-generated constructor stub
  23.         mSurfaceHolder = getHolder();// подписываемся на события Surface
  24.         mSurfaceHolder.addCallback(this);
  25.         mThread = new Manager(mSurfaceHolder, context);
  26.    
  27.     }
  28.  
  29.    
  30.  
  31.     @Override
  32.     //Создание области рисования
  33.     public void surfaceCreated(SurfaceHolder holder) {
  34.         // TODO Auto-generated method stub
  35.         mThread.setRunning(true);
  36.         mThread.start();
  37.     }
  38.    
  39.     @Override
  40.     //Изменение области рисования
  41.     public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
  42.         // TODO Auto-generated method stub
  43.        
  44.     }
  45.  
  46.     @Override
  47.     //Уничтожение области рисования
  48.     public void surfaceDestroyed(SurfaceHolder holder) {
  49.         // TODO Auto-generated method stub
  50.          boolean retry = true;
  51.             mThread.setRunning(false);
  52.             while (retry)
  53.             {
  54.                 try
  55.                 {
  56.                     // ожидание завершение потока
  57.                     mThread.join();
  58.                     retry = false;
  59.                 }
  60.                 catch (InterruptedException e) { }
  61.             }
  62.     }
  63.    
  64.     public boolean onTouchEvent(MotionEvent event) {
  65.         if (event.getAction() == MotionEvent.ACTION_DOWN){ 
  66.            mThread.mX = (int)event.getX() - mThread.mBitmap.getWidth()/2;
  67.            mThread.mY = (int)event.getY() - mThread.mBitmap.getHeight()/2;         
  68.         }
  69.         return super.onTouchEvent(event);
  70.     }
  71. }
  72.  
  73. //CLASS FOR SCROLLIG BACKGROUND
  74. package android.project.gameview;
  75.  
  76. import android.content.Context;
  77. import android.content.res.Resources;
  78. import android.graphics.Bitmap;
  79. import android.graphics.BitmapFactory;
  80. import android.graphics.Canvas;
  81. import android.graphics.Point;
  82. import android.graphics.drawable.Drawable;
  83. import android.project.game.R;
  84.  
  85. public class scrolBckgr {
  86.  
  87.     protected int cY;//obj coordinates(координаты объекта)
  88.     protected Point mPoint;
  89.     private static final int DEFAULT_SPEED_Y = 14;
  90.     private Bitmap mBckgLines;
  91.     private int mSpeedY;
  92.    
  93.    
  94.     public scrolBckgr(Resources res, int coordY)//в конструкторе задаем скорость перемещения линий, координату начала дивжения и скорость
  95.     {
  96.          mBckgLines = BitmapFactory.decodeResource(res, R.drawable.lines3);
  97.          mSpeedY = DEFAULT_SPEED_Y;
  98.          cY = coordY;
  99.     }
  100.    
  101.     public void doDraw(Canvas canvas) //отрисовка
  102.     {
  103.         canvas.drawBitmap(mBckgLines, 0, cY, null);
  104.     }
  105.    
  106.     public void animate()//анимация движения
  107.     {
  108.         cY += mSpeedY;
  109.         checkBorders();
  110.     }
  111.  
  112.     private void checkBorders()//проверка на выход за пределы экрана
  113.     {
  114.         if (cY + mBckgLines.getHeight() >= 800) {
  115.             cY = 0;
  116.         }
  117.     }
  118. }
  119.  
  120.  
  121.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement