Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.alex.linedodger.Controller;
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Point;
- import android.graphics.Rect;
- import android.view.MotionEvent;
- import android.view.SurfaceHolder;
- import android.view.SurfaceView;
- import com.example.alex.linedodger.Domain.RectPlayer;
- import com.example.alex.linedodger.Repository.MainThread;
- /**
- * Created by alex on 01.03.2017.
- */
- public class GamePanel extends SurfaceView implements SurfaceHolder.Callback {
- public MainThread thread;
- private RectPlayer player;
- private Point playerPoint;
- public GamePanel(Context context){
- super(context);
- this.getHolder().addCallback(this);
- thread = new MainThread(getHolder(), this);
- player = new RectPlayer(new Rect(100,100,200,200), Color.rgb(255,0,0));
- playerPoint = new Point(150,150);
- // We ensure that THIS canvas will get the focus.
- setFocusable(true);
- }
- @Override
- public void surfaceChanged(SurfaceHolder holder, int format, int width, int height){
- }
- @Override
- public void surfaceCreated(SurfaceHolder holder){
- thread = new MainThread(getHolder(), this);
- thread.setRunning(true);
- thread.start();
- }
- public void surfaceDestroyed(SurfaceHolder holder){
- boolean retry = true;
- while (true){
- try {
- thread.setRunning(false);
- thread.join();
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- }
- /*
- Called when a touch screen motion event occurs.
- Class : SurfaceView
- TYPE: Event
- */
- @Override
- public boolean onTouchEvent(MotionEvent event){
- /* [event.getAction()] : returneaza un [int] care are o valoeare
- in functie de ce fel de touch e
- */
- switch (event.getAction()){
- case MotionEvent.ACTION_DOWN:
- case MotionEvent.ACTION_MOVE:
- playerPoint.set((int)event.getX(), (int)event.getY());
- }
- return true;
- }
- // Will update our game frame-by-frame
- public void update(){
- player.update(playerPoint);
- }
- @Override
- public void draw (Canvas canvas){
- super.draw(canvas);
- canvas.drawColor(Color.WHITE);
- player.draw(canvas);
- }//return super.onTouchEvent(event);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement