小白项目初尝试——全民飞机大战初期

代码演示:

 package com.example.myapplication;

import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Rect;

/**
* Created by 涂阳丽 on 2017/5/24.
*/

public class GameMenu {
private Bitmap bmpMenuBG;//菜单页面背景图片
private Bitmap bmpLogo; // 菜单页面logo
private Bitmap bmpButton;//菜单页面Button
private Bitmap bmpText;
private Rect rect;
// 菜单页面文本

public GameMenu(Bitmap bmpMenuBG,Bitmap bmpLogo,Bitmap bmpButton,Bitmap bmpText){
    this.bmpMenuBG=bmpMenuBG;
    this.bmpLogo=bmpLogo;
    this.bmpButton=bmpButton;
    this.bmpText=bmpText;
    rect=new Rect( 0,
            GameSurface.screenHeight / 3,
            GameSurface.screenWidth,
            GameSurface.screenHeight / 3 +GameSurface.screenHeight /5);
}

public void draw(Canvas canvas, Paint paint){
    canvas.drawBitmap(bmpMenuBG,0,0,paint);
    canvas.drawBitmap(bmpLogo,null,rect,paint);
    int x=GameSurface.screenWidth/2-bmpButton.getWidth()/2;
    int y = GameSurface.screenHeight/3*2;
    canvas.drawBitmap(bmpButton,x,y,paint);
    int z=GameSurface.screenWidth/2-bmpButton.getWidth()/3;
    int s = GameSurface.screenHeight/3*2+20;

    canvas.drawBitmap(bmpText,z,s,paint);
}

}

package com.example.myapplication;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

/**
* Created by 涂阳丽 on 2017/5/24.
*/

public class GameSurface extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder surfaceHolder;
private Canvas canvans;
private Paint paint;
public static int screenWidth;
public static int screenHeight;
//menu相关
private GameMenu gameMenu;
private Bitmap bmpMenuBG;//菜单页面背景图片
private Bitmap bmpLogo; // 菜单页面logo
private Bitmap bmpButton;//菜单页面Button
private Bitmap bmpText;// 菜单页面文本
public GameSurface(Context context) {
super(context);
surfaceHolder = this.getHolder();
surfaceHolder.addCallback(this);
paint=new Paint();
paint.setAntiAlias(true);
}

@Override
public void surfaceCreated(SurfaceHolder holder) {
    screenWidth=this.getWidth();
    screenHeight=this.getHeight();
    initBitmap();
    new Thread(new Runnable() {

        @Override
        public void run() {
            while (true)
            mydraw();
        }
    }).start();
}

/**
 * 绘图方法
 */
        private void mydraw() {
            canvans = surfaceHolder.lockCanvas();
            //调用GameMenu对象画游戏菜单
            gameMenu.draw(canvans,paint);

            if(canvans != null){
                surfaceHolder.unlockCanvasAndPost(canvans);
            }

        }

/**
 * 初始化图片方法
 */

private void initBitmap() {
    //把图片转换成Bitmap格式
            bmpMenuBG = BitmapFactory.decodeResource(this.getResources(),R.drawable.mainmenu);
            bmpLogo = BitmapFactory.decodeResource(this.getResources(),R.drawable.logo);
            bmpButton = BitmapFactory.decodeResource(this.getResources(),R.drawable.menustart);
            bmpText = BitmapFactory.decodeResource(this.getResources(),R.drawable.starttext);

    gameMenu =new GameMenu(bmpMenuBG,bmpLogo,bmpButton,bmpText);
        }



@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {

}

}

猜你喜欢

转载自blog.csdn.net/tyl1999/article/details/72718302