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();
}
明日各个成员任务安排
- 李昱兴、林臻、马平川完成各自的代码任务,其余同学提供相应的帮助及建议。