Advertisement
Guest User

Untitled

a guest
Mar 4th, 2017
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.47 KB | None | 0 0
  1. package com.example.alex.linedodger.Controller;
  2.  
  3. import android.content.Context;
  4. import android.graphics.Canvas;
  5. import android.graphics.Color;
  6. import android.graphics.Point;
  7. import android.graphics.Rect;
  8. import android.view.MotionEvent;
  9. import android.view.SurfaceHolder;
  10. import android.view.SurfaceView;
  11.  
  12. import com.example.alex.linedodger.Domain.RectPlayer;
  13. import com.example.alex.linedodger.Repository.MainThread;
  14.  
  15. /**
  16.  * Created by alex on 01.03.2017.
  17.  */
  18.  
  19.  
  20.  
  21. public class GamePanel extends SurfaceView implements SurfaceHolder.Callback {
  22.     public MainThread thread;
  23.     private RectPlayer player;
  24.     private Point playerPoint;
  25.  
  26.     public GamePanel(Context context){
  27.         super(context);
  28.         this.getHolder().addCallback(this);
  29.         thread = new MainThread(getHolder(), this);
  30.         player = new RectPlayer(new Rect(100,100,200,200), Color.rgb(255,0,0));
  31.         playerPoint = new Point(150,150);
  32.         // We ensure that THIS canvas will get the focus.
  33.         setFocusable(true);
  34.     }
  35.     @Override
  36.     public void surfaceChanged(SurfaceHolder holder, int format, int width, int height){
  37.     }
  38.  
  39.     @Override
  40.     public void surfaceCreated(SurfaceHolder holder){
  41.         thread = new MainThread(getHolder(), this);
  42.         thread.setRunning(true);
  43.         thread.start();
  44.     }
  45.     public void surfaceDestroyed(SurfaceHolder holder){
  46.         boolean retry = true;
  47.         while (true){
  48.             try {
  49.                 thread.setRunning(false);
  50.                 thread.join();
  51.  
  52.             }catch (Exception e){
  53.                 e.printStackTrace();
  54.             }
  55.         }
  56.     }
  57.  
  58.     /*
  59.     Called when a touch screen motion event occurs.
  60.     Class : SurfaceView
  61.     TYPE: Event
  62.      */
  63.     @Override
  64.     public boolean onTouchEvent(MotionEvent event){
  65.         /* [event.getAction()] : returneaza un [int] care are o valoeare
  66.             in functie de ce fel de touch e
  67.          */
  68.         switch (event.getAction()){
  69.             case MotionEvent.ACTION_DOWN:
  70.             case MotionEvent.ACTION_MOVE:
  71.                 playerPoint.set((int)event.getX(), (int)event.getY());
  72.  
  73.         }
  74.         return true;
  75.     }
  76.  
  77.     // Will update our game frame-by-frame
  78.     public void update(){
  79.         player.update(playerPoint);
  80.     }
  81.  
  82.     @Override
  83.     public void draw (Canvas canvas){
  84.         super.draw(canvas);
  85.         canvas.drawColor(Color.WHITE);
  86.         player.draw(canvas);
  87.     }//return super.onTouchEvent(event);
  88.  
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement