初学Android之飞机大战(四)——Boss

来源:互联网 发布:淘宝创业培训班 编辑:程序博客网 时间:2024/09/21 09:03
package com.example.a11918.myapplication;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Rect;/** * Created by 11918 on 2017/5/24. *//** * boss类 */public class GameBoss {    private Bitmap bmpBoss; //boss图片    private boolean isCrazy = false;    private boolean flag = true;    private int speed=6,crazy=20;//boss左右移动速度和冲撞速度    private float bossWidth,bossHight;//boss的长宽    private int bossX,bossY;    private int countCrazy;    public GameBoss(Bitmap bmpBoss) {        this.bmpBoss = bmpBoss;        /**         * 获取boss的长宽         */        bossWidth = bmpBoss.getWidth()/10;        bossHight = bmpBoss.getHeight();        /**         * 获取boss初始位置         */        bossX = (int) (GameSurfaceView.screenWidth/2-bossWidth/2);        bossY = 0;    }    /**     * 画出boss     * @param canvas     * @param paint     */    public void drawBoss(Canvas canvas, Paint paint) {        canvas.clipRect(bossX,bossY,bossX+bossWidth,bossY+bossHight);        canvas.drawBitmap(bmpBoss,bossX,bossY,paint);    }    /**     *boss移动的方法     */    public void logic(){        /**         * boss左右移动         */        bossX+=speed;        if(bossX+bossWidth>=GameSurfaceView.screenWidth){            speed = -speed;        }else if(bossX<=0){            speed = -speed;        }        /**         * boss冲撞         */        countCrazy++;        if (countCrazy%200==0){            isCrazy = true;        }        if(bossY>GameSurfaceView.screenHight-bossHight){            isCrazy=false;        }        if(isCrazy){            bossY+=crazy;        }else if(isCrazy==false){            if(bossY>0){                bossY-=crazy;            }        }    }}
阅读全文
0 0