Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.kecseti.avoid.game;
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Paint;
- import android.os.Build;
- import android.support.annotation.RequiresApi;
- import android.util.AttributeSet;
- import android.view.View;
- import android.view.ViewTreeObserver;
- import com.example.kecseti.avoid.tiles.BasicTile;
- import java.util.Random;
- public class GameView extends View {
- float r,g,b;
- float rv,gv,bv,yv;
- float szog;
- BasicTile player;
- int playerSize=120;
- Random rand;
- Paint p;
- Paint keret;
- Boolean run;
- public GameView(Context context, AttributeSet attrs) {
- super(context, attrs);
- rand=new Random();
- p=new Paint();
- keret=new Paint();
- player=new BasicTile(playerSize,playerSize);
- x=this.getWidth();
- kezd();
- }
- public void kezd() {
- //Random startoló háttérszín
- r = rand.nextInt(255);
- g = rand.nextInt(255);
- b = rand.nextInt(255);
- rv = 0.08f;
- gv = -0.08f;
- bv = -0.08f;
- yv=1f;
- szog=0;
- player.setLocation(500,600);
- run=false;
- }
- public void update(){
- if(!run){
- float ujy;
- ujy=player.getY()+yv;
- if(ujy>800 || ujy<500) yv*=-1;
- player.setLocation(player.getX(),(int)ujy);
- }
- //Háttérszín változtatása folyamatosan
- r+=rv;
- g+=gv;
- b+=bv;
- if(r>250 || r<30) rv*=-1;
- if(g>250 || g<30) gv*=-1;
- if(b>250 || b<30) bv*=-1;
- szog+=3;
- this.invalidate();
- }
- @RequiresApi(api = Build.VERSION_CODES.O)
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- canvas.drawColor(Color.rgb((int)r, (int)g, (int)b));
- p.setColor(Color.WHITE);
- p.setStyle(Paint.Style.FILL);
- keret.setStyle(Paint.Style.STROKE);
- keret.setStrokeWidth(10);
- keret.setColor(Color.BLACK);
- canvas.save();
- canvas.rotate(szog,player.getX()+player.getWidth()/2,player.getY()+player.getHeight()/2);
- canvas.drawRect(player.getX(),player.getY(),player.getX()+player.getWidth(),player.getY()+player.getHeight(),keret);
- canvas.drawRect(player.getX(),player.getY(),player.getX()+player.getWidth(),player.getY()+player.getHeight(),p);
- canvas.restore();
- keret.setTextSize(50);
- }
- public void updateDir(int x, int y){
- player.setLocation(x-player.getWidth()/2,y-player.getHeight()/2);
- }
- public int getPlayerX(){return player.getX();}
- public int getPlayerY(){return player.getY();}
- public void setRun(Boolean run){this.run=run;}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement