• 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();
    
            }
    
    

    明日各个成员任务安排

    • 李昱兴、林臻、马平川完成各自的代码任务,其余同学提供相应的帮助及建议。
  • 相关阅读:
    Confluence 6 使用 WebDAV 客户端来对页面进行操作
    Confluence 6 的 WebDAV 客户端整合介绍
    Confluence 6 MySQL 3.x 字符集编码问题
    Confluence 6 € 欧元字符集不能正常显示
    Confluence 6 字符集编码的问题解决
    Confluence 6 数据库字符集编码和问题
    Confluence 6 配置字符集编码
    Confluence 6 邮件队列
    pyDay6
    c++第十六天
  • 原文地址:https://www.cnblogs.com/Java1623/p/8004292.html
Copyright © 2020-2023  润新知