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

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

总体架构

  • 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏
  • 游戏中所有模型的原型设定是精灵,因此不管是敌机还是战斗机都是精灵类,精灵类是所有类的父类
  • 精灵类(Sprite)下有三个子类,一个是战斗机类,也就是玩家;一个是走直线的精灵类(AutoSprite),也就是对敌机的统称;还有一个是爆炸类,指的是敌机或战斗机被摧毁。
  • 我所负责的是用户界面设定;安卓系统的四大组件分别是activity 显示界面、service 服务、Broadcast Receiver 广播接收器、Content Provider 内容提供器;其中活动是所有Andriod应用程序的门面,应用中我们所看到的东西,都放在活动中。


MainActivity

  • MainActivity继承自Activity,OnCreate()方法是是一个活动被创建时必定要执行的方法;在OnCreate()方法的第二行调用了setContentView()方法,在这个方法中我传入。一个布局文件的id,入activity_main.xml布局已经添加在R文件中,只需要调用R.layout.activity_main就可以得到activity_main.xml布局的id,然后将这个值传入setContentView()方法


public class MainActivity extends Activity implements Button.OnClickListener {

    @Override
   
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

  • Intent是Android程序中各组件之间进行交互的一种重要方式,它可以指明当前组件要执行的动作,还在不同组件之间传递数据。我们先构建一个Intent,传入MainActivity.this作为上下文,传入GameActivity.class作为目标活动,目的在于通过MainActivity这个活动打开GameActivity这个活动,然后通过startActivity()方法来执行这个Intent。

    public void startGame(){

        Intent it = new Intent(MainActivity.this, GameActivity.class);

        startActivity(it);

GameActivity

  • onPause() 这个方法在系统准备去启动或者恢复另一个活动的时候调用。我们通常会在这个方法中将一些消耗CPU的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶活动的使用。

  • 相关代码


protected void onPause() {

        super.onPause();

        if(gameView != null){

            gameView.pause();

        }



  • onDestroy() 这个方法在活动被销毁之前调用,之后的活动状态将变为销毁状态

  • 相关代码


@Override

    protected void onDestroy() {

        super.onDestroy();

        if(gameView != null){

            gameView.destroy();

        }

明日各个成员任务安排

  • 李昱兴、林臻、马平川完成各自的代码任务,其余同学提供相应的帮助及建议。

posted on 2017-12-09 15:46  JaWorld  阅读(195)  评论(0编辑  收藏  举报

导航