Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.xerpi.core;
- import android.content.Context;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Paint;
- import android.view.Display;
- import android.view.MotionEvent;
- import android.view.SurfaceHolder;
- import android.view.SurfaceHolder.Callback;
- import android.view.SurfaceView;
- import android.view.View;
- import android.view.View.OnTouchListener;
- import android.view.WindowManager;
- public class GameView extends SurfaceView implements OnTouchListener {
- private GameLoopThread gameLoopThread;
- private SurfaceHolder holder;
- Paint paint = new Paint();
- Display display = ((WindowManager)getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
- public float screenW = display.getWidth();
- public float screenH = display.getHeight();
- public float centerX = screenW/2;
- public float centerY = screenH/2;
- public Bitmap imgArc = BitmapFactory.decodeResource(this.getResources(),R.drawable.arc);
- public Bitmap imgBall1 = BitmapFactory.decodeResource(this.getResources(),R.drawable.ball1);
- public static Core core = new Core(screenW,screenH,imgArc);
- Balls balls = new Balls();
- public boolean checkCollision(float x, float y, float w, float h, float x2,
- float y2, float w2, float h2) {
- if (x + w >= x2 && x <= x2 + w2 && y + h >= y2 && y <= y2 + h2) {
- return true;
- }
- return false;
- }
- public GameView(Context context) {
- super(context);
- gameLoopThread = new GameLoopThread(this);
- holder = getHolder();
- holder.addCallback(new Callback() {
- @Override
- public void surfaceDestroyed(SurfaceHolder holder) {
- gameLoopThread.setRunning(false);
- }
- @Override
- public void surfaceCreated(SurfaceHolder holder) {
- for (int i =0;i<500;i++)
- balls.add(0,imgBall1);
- gameLoopThread.setRunning(true);
- gameLoopThread.start();
- }
- @Override
- public void surfaceChanged(SurfaceHolder holder, int format,
- int width, int height) {
- }
- });
- }
- public void onDraw(Canvas canvas) {
- // Clear the screen
- canvas.drawColor(Color.BLACK);
- this.setOnTouchListener(this);
- paint.setColor(Color.RED);
- paint.setTextSize(20);
- canvas.drawText("Score: "+core.score, 10, 20, paint);
- core.blit(canvas,paint);
- balls.move();
- balls.blit(canvas,paint);
- paint.reset();
- }
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- double ang = -Math.atan2(screenW/2-event.getX(),screenH/2-event.getY());
- core.setAngle((float) Math.toDegrees(ang));
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement