Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package android.project.gameview;
- import java.util.ArrayList;
- import android.content.Context;
- import android.util.AttributeSet;
- import android.view.MotionEvent;
- import android.view.SurfaceHolder;
- import android.view.SurfaceView;
- public class View extends SurfaceView implements SurfaceHolder.Callback {
- private SurfaceHolder mSurfaceHolder;
- /**
- * Поток, рисующий в области
- */
- private Manager mThread;
- public View(Context context, AttributeSet attrs) {
- super(context, attrs);
- // TODO Auto-generated constructor stub
- mSurfaceHolder = getHolder();// подписываемся на события Surface
- mSurfaceHolder.addCallback(this);
- mThread = new Manager(mSurfaceHolder, context);
- }
- @Override
- //Создание области рисования
- public void surfaceCreated(SurfaceHolder holder) {
- // TODO Auto-generated method stub
- mThread.setRunning(true);
- mThread.start();
- }
- @Override
- //Изменение области рисования
- public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
- // TODO Auto-generated method stub
- }
- @Override
- //Уничтожение области рисования
- public void surfaceDestroyed(SurfaceHolder holder) {
- // TODO Auto-generated method stub
- boolean retry = true;
- mThread.setRunning(false);
- while (retry)
- {
- try
- {
- // ожидание завершение потока
- mThread.join();
- retry = false;
- }
- catch (InterruptedException e) { }
- }
- }
- public boolean onTouchEvent(MotionEvent event) {
- if (event.getAction() == MotionEvent.ACTION_DOWN){
- mThread.mX = (int)event.getX() - mThread.mBitmap.getWidth()/2;
- mThread.mY = (int)event.getY() - mThread.mBitmap.getHeight()/2;
- }
- return super.onTouchEvent(event);
- }
- }
- //CLASS FOR SCROLLIG BACKGROUND
- package android.project.gameview;
- import android.content.Context;
- import android.content.res.Resources;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.Canvas;
- import android.graphics.Point;
- import android.graphics.drawable.Drawable;
- import android.project.game.R;
- public class scrolBckgr {
- protected int cY;//obj coordinates(координаты объекта)
- protected Point mPoint;
- private static final int DEFAULT_SPEED_Y = 14;
- private Bitmap mBckgLines;
- private int mSpeedY;
- public scrolBckgr(Resources res, int coordY)//в конструкторе задаем скорость перемещения линий, координату начала дивжения и скорость
- {
- mBckgLines = BitmapFactory.decodeResource(res, R.drawable.lines3);
- mSpeedY = DEFAULT_SPEED_Y;
- cY = coordY;
- }
- public void doDraw(Canvas canvas) //отрисовка
- {
- canvas.drawBitmap(mBckgLines, 0, cY, null);
- }
- public void animate()//анимация движения
- {
- cY += mSpeedY;
- checkBorders();
- }
- private void checkBorders()//проверка на выход за пределы экрана
- {
- if (cY + mBckgLines.getHeight() >= 800) {
- cY = 0;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement