Advertisement
Guest User

View

a guest
Jan 20th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.85 KB | None | 0 0
  1. package com.example.kecseti.avoid.game;
  2.  
  3. import android.content.Context;
  4. import android.graphics.Canvas;
  5. import android.graphics.Color;
  6. import android.graphics.Paint;
  7. import android.os.Build;
  8. import android.support.annotation.RequiresApi;
  9. import android.util.AttributeSet;
  10. import android.view.View;
  11. import android.view.ViewTreeObserver;
  12.  
  13. import com.example.kecseti.avoid.tiles.BasicTile;
  14.  
  15. import java.util.Random;
  16.  
  17. public class GameView extends View {
  18.  
  19.     float r,g,b;
  20.     float rv,gv,bv,yv;
  21.     float szog;
  22.     BasicTile player;
  23.     int playerSize=120;
  24.     Random rand;
  25.     Paint p;
  26.     Paint keret;
  27.     Boolean run;
  28.  
  29.     public GameView(Context context, AttributeSet attrs) {
  30.         super(context, attrs);
  31.         rand=new Random();
  32.         p=new Paint();
  33.         keret=new Paint();
  34.         player=new BasicTile(playerSize,playerSize);
  35.     x=this.getWidth();
  36.         kezd();
  37.     }
  38.  
  39.     public void kezd() {
  40.         //Random startoló háttérszín
  41.         r = rand.nextInt(255);
  42.         g = rand.nextInt(255);
  43.         b = rand.nextInt(255);
  44.  
  45.         rv = 0.08f;
  46.         gv = -0.08f;
  47.         bv = -0.08f;
  48.  
  49.         yv=1f;
  50.  
  51.         szog=0;
  52.  
  53.         player.setLocation(500,600);
  54.         run=false;
  55.  
  56.     }
  57.  
  58.     public void update(){
  59.         if(!run){
  60.             float ujy;
  61.             ujy=player.getY()+yv;
  62.             if(ujy>800 || ujy<500) yv*=-1;
  63.             player.setLocation(player.getX(),(int)ujy);
  64.         }
  65.         //Háttérszín változtatása folyamatosan
  66.         r+=rv;
  67.         g+=gv;
  68.         b+=bv;
  69.         if(r>250 || r<30) rv*=-1;
  70.         if(g>250 || g<30) gv*=-1;
  71.         if(b>250 || b<30) bv*=-1;
  72.  
  73.         szog+=3;
  74.  
  75.         this.invalidate();
  76.     }
  77.  
  78.     @RequiresApi(api = Build.VERSION_CODES.O)
  79.     @Override
  80.     protected void onDraw(Canvas canvas) {
  81.             super.onDraw(canvas);
  82.             canvas.drawColor(Color.rgb((int)r, (int)g, (int)b));
  83.             p.setColor(Color.WHITE);
  84.             p.setStyle(Paint.Style.FILL);
  85.  
  86.             keret.setStyle(Paint.Style.STROKE);
  87.             keret.setStrokeWidth(10);
  88.             keret.setColor(Color.BLACK);
  89.             canvas.save();
  90.             canvas.rotate(szog,player.getX()+player.getWidth()/2,player.getY()+player.getHeight()/2);
  91.             canvas.drawRect(player.getX(),player.getY(),player.getX()+player.getWidth(),player.getY()+player.getHeight(),keret);
  92.             canvas.drawRect(player.getX(),player.getY(),player.getX()+player.getWidth(),player.getY()+player.getHeight(),p);
  93.             canvas.restore();
  94.             keret.setTextSize(50);
  95.     }
  96.  
  97.     public void updateDir(int x, int y){
  98.         player.setLocation(x-player.getWidth()/2,y-player.getHeight()/2);
  99.     }
  100.  
  101.     public int getPlayerX(){return player.getX();}
  102.     public int getPlayerY(){return player.getY();}
  103.     public void setRun(Boolean run){this.run=run;}
  104.  
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement