网络资源模板--Android Studio 飞机大战游戏

目录

一、项目演示

二、项目测试环境

三、项目详情

四、完整的项目源码


一、项目演示

网络资源模板--飞机大战

二、项目测试环境

三、项目详情

首页

  1. **继承 Activity**:
  • `SecondActivity` 类继承自 `Activity`,表示一个新的屏幕或界面。
  1. **重写 onCreate() 方法**:
  • 在 `onCreate` 方法中,调用父类的 `onCreate()` 方法以初始化活动。

  • 使用 `requestWindowFeature(1)` 请求窗口特性,通常用于全屏显示。

  • 通过 `getWindow().setFlags(1024, 1024)` 设置窗口标志,以实现全屏效果。

  • 使用 `setContentView(R.layout.activity_main)` 设置当前活动的布局视图。

  1. **按钮设置**:
  • 找到布局中的按钮(`R.id.button`)。

  • 如果按钮存在,设置点击事件监听器,当按钮被点击时,启动 `MainActivity`。

  • 通过 `Intent` 启动新的活动,实现界面之间的跳转。

总结

`SecondActivity` 类用于显示一个界面,包含一个按钮。点击该按钮后,将切换到 `MainActivity`。整体设计使得用户可以在两个活动之间导航。

java 复制代码
package com.example.dell;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class SecondActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(1);
        getWindow().setFlags(1024, 1024);
        setContentView(R.layout.activity_main);
        Button button = (Button) findViewById(R.id.button);
        if (button != null) {
            button.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    SecondActivity.this.startActivity(new Intent(SecondActivity.this, MainActivity.class));
                }
            });
        }
    }
}

游戏页面

  1. **继承 Activity**:
  • `MainActivity` 类继承自 `Activity`,是一个基本的 Android 活动。
  1. **重写 onCreate() 方法**:
  • 在 `onCreate` 方法中,调用父类的 `onCreate()` 方法,初始化活动。

  • 使用 `requestWindowFeature(1)` 请求窗口特性(通常用于全屏)。

  • 通过 `getWindow().setFlags(1024, 1024)` 设置窗口的标志,通常用于使活动全屏。

  1. **初始化视图**:
  • `Init()` 方法创建了一个 `MainGame` 实例,传入当前活动上下文和默认显示。

  • 设置触摸监听器,以响应用户触摸事件。

  • 将背景颜色设置为黑色(`ViewCompat.MEASURED_STATE_MASK` 表示黑色)。

  • 最后,将 `MainGame` 视图设置为当前活动的内容视图。

总结

这个 `MainActivity` 类主要用于设置一个全屏的游戏视图,创建并显示一个 `MainGame` 对象,以便进行用户交互。

java 复制代码
package com.example.dell;

import android.app.Activity;
import android.os.Bundle;
import androidx.core.view.ViewCompat;

public class MainActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(1);
        getWindow().setFlags(1024, 1024);
        Init();
    }

    public void Init() {
        MainGame gameView = new MainGame(this, getWindowManager().getDefaultDisplay());
        gameView.setOnTouchListener(new touch());
        gameView.setBackgroundColor(ViewCompat.MEASURED_STATE_MASK);
        setContentView(gameView);
    }
}

四、完整的项目源码

👇👇👇👇👇快捷获取方式👇👇👇👇👇

相关推荐
杉氧20 小时前
深入理解 Compose 重组机制:快照系统如何驱动 UI 精准刷新?
android·架构·android jetpack
召钱熏20 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
杉氧20 小时前
深度解析:Jetpack Compose 核心架构与底层原理 —— 十年安卓老兵的“破茧重生”
android·架构·android jetpack
通玄21 小时前
Jetpack Compose 入门系列(七):ViewModel 与界面状态管理
android
落魄Android在线炒饭21 小时前
Android Framework 开发技巧:android.jar 生成与系统快速编译验证
android
如此风景1 天前
Kotlin Flow操作符学习
android·kotlin
plainGeekDev1 天前
GreenDAO → Room
android·java·kotlin
weiggle1 天前
第八篇:ViewModel + Compose——生产级状态管理实践
android
恋猫de小郭1 天前
Amper 正式转正 Kotlin Toolchain ,Gradle 未来何去何从
android·前端·flutter
plainGeekDev1 天前
ButterKnife → ViewBinding
android·java·kotlin