Advertisement
kanzeparov

Forth_initEnemy_CanvasView

Nov 18th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.45 KB | None | 0 0
  1. class CanvasView extends View implements ICanvasView{
  2.     Paint paint;
  3.     MainCircle mainCircle;
  4.     static int width;
  5.     static int height;
  6.     Canvas canvas;
  7.     static int MAX_CIRCLES = 10;
  8.     ArrayList<EnemyCircle> circles;
  9.  
  10.     CanvasView(Context context, @Nullable AttributeSet attrs) {
  11.         super(context, attrs);
  12.         initWidthAndHeight(context);
  13.         initMainCircle();
  14.         initEnemyCircles();
  15.         initPaint();
  16.     }
  17.  
  18.     void initEnemyCircles() {
  19.                 circles = new ArrayList<EnemyCircle>();
  20.                 for (int i = 0; i < MAX_CIRCLES; i++) {
  21.                         EnemyCircle circle;
  22.                         circle = EnemyCircle.getRandomCircle();
  23.                         circles.add(circle);
  24.                 }
  25.     }
  26.  
  27.  
  28.     void initMainCircle() {
  29.         mainCircle = new MainCircle(width/2, height/2);
  30.     }
  31.  
  32.     void initPaint() {
  33.         paint = new Paint(); // Создание кисточки
  34.         paint.setAntiAlias(true);//сглаживание
  35.         paint.setStyle(Paint.Style.FILL); //Заполнение кружка цветом
  36.     }
  37.  
  38.     void initWidthAndHeight(Context context) {
  39.                 WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
  40.                 Display display = windowManager.getDefaultDisplay();
  41.                 Point point = new Point();
  42.                 display.getSize(point);
  43.                 width = point.x;
  44.                 height = point.y;
  45.             }
  46.  
  47.  
  48.     @Override
  49.     protected void onDraw(Canvas canvasFromMethod) {
  50.         super.onDraw(canvasFromMethod);
  51.         canvas = canvasFromMethod;
  52.         drawCircle(mainCircle);
  53.         for (EnemyCircle circle : circles) {
  54.             drawCircle(circle);
  55.         }
  56.     }
  57.  
  58.  
  59.  
  60.  
  61.     @Override
  62.      public boolean onTouchEvent(MotionEvent event) {
  63.                 int x = (int) event.getX();
  64.                 int y = (int) event.getY();
  65.                 if (event.getAction() == MotionEvent.ACTION_MOVE) {
  66.                     mainCircle.moveMainCircleWhenTouchAt(x, y);
  67.                     }
  68.                 invalidate();//ОБНОВЛЕНИЕ
  69.                 return true;
  70.             }
  71.     //Для того, чтобы в этот метод подавать и другие круги
  72.     @Override
  73.     public void drawCircle(SimpleCircle circle) {
  74.         canvas.drawCircle(circle.getX(), circle.getY(), circle.getRadius(), paint);
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement