2017-2018-1 JaWorld 团队作业--冲刺1

2017-2018-1 JaWorld 团队作业--冲刺1(20162301)

一、小组分工:

  • 由于小组成员在本周比较忙碌,所以考虑后本组的冲刺就按照每天加入不同的类来完成。我们根据类的难度大小来决定冲刺的先后顺序,这样保证其他同学有充足的准备时间。
成员 分工 预期的任务量
林臻 战斗机类 10h
李昱兴 敌机类 10h
王译潇 子弹类 3h
张师瑜 爆炸类 2h
陈是奇 activity 5h
马平川 负责类之间的耦合以及界面设计 15h

二、团队成员贡献值的计算规则

  • 贡献值 = 完成时间 x 完成质量

三、爆炸类内容

  • 所有其他用于绘制的类的基类,我负责的是精灵类下的爆炸效果类,位置不可变,但是可以显示动态的爆炸效果。

  • 我们组的游戏中将敌机的爆炸效果设置为14个片段组成(如下图所示),每个爆炸片段绘制2帧。在绘制完最后一个阶段之后,Explosion类会销毁自己。

  • 绘制过程:

 protected void afterDraw(Canvas canvas, Paint paint, GameView gameView) {
        if(!isDestroyed()){
            if(getFrame() % explodeFrequency == 0){
                //level自加1,用于绘制下个爆炸片段
                level++;
                if(level >= segment){
                    //当绘制完所有的爆炸片段后,销毁爆炸效果
                    destroy();
                }
            }
        }
    }

 //得到绘制完整爆炸效果需要的帧数,即28帧
    public int getExplodeDurationFrame(){
        return segment * explodeFrequency;
    }
}

四、遇到的问题:

  • 如何将这14种爆炸效果显示出来?
  • 我们采用的位图BitMap类。Bitmap的存储可以说包括两个部分,像素以及长,宽,颜色等描述信息。像素是Bitmap最占用内存的地方,长宽和像素位数是用来描述图片的,可以通过这些信息计算出图片的像素占用的内存大小。
 protected void afterDraw(Canvas canvas, Paint paint, GameView gameView) {
        if(!isDestroyed()){
            if(getFrame() % explodeFrequency == 0){
                //level自加1,用于绘制下个爆炸片段
                level++;
                if(level >= segment){
                    //当绘制完所有的爆炸片段后,销毁爆炸效果
                    destroy();
                }
            }
        }
    }

五、明日各个成员的任务安排

  • 王译潇同学完成子弹类部分,其余同学进行自己部分的整理与学习。

原文地址:https://www.cnblogs.com/Java1623/p/8001076.html