开心打地鼠,Android小游戏开发

A. 项目描述

"开心打地鼠"是一款非常有趣的游戏,它能够帮助人们放松身心,同时也能够锻炼人们的智力。

"开心打地鼠"这款游戏的玩法非常简单,玩家需要在规定的时间内点击屏幕上出现的地鼠,每次点击都可以得到一定的分数。但是,玩家需要小心,因为如果没有点击中,地鼠逃过的话,就会失去分数。游戏的难度会随着时间的推移而逐渐增加,需要玩家不断提高自己的反应能力和准确性。

B. 开发工具

  • Android Studio Dolphin | 2021.3.1 Patch 1
  • Java , JDK 11.0.13
  • Gradle , gradle-7.4

C. 代码设计

GameSurfaceView 类定义了游戏的主要界面,它继承自 SurfaceView,采用这样的设计可以方便游戏画面在子线程中进行更新。

  • surfaceCreated方法中,初始化图片、声音等资源,同时开启了游戏线程
java 复制代码
public void surfaceCreated(SurfaceHolder holder) {
        GameSize.setView(this);
        SCREEN_W = this.getWidth();
        SCREEN_H = this.getHeight();
        // 初始化,图片、声音等
        initializeGameX();
        // 游戏线程
        Thread main_thread = new Thread(this);
        main_thread.start();
        game_th_on = true;

    }
  • 游戏线程当中,定时执行一系列的操作:游戏画面的绘制、执行游戏逻辑、游戏音乐的播放控制
java 复制代码
   @Override
   public void run() {
       while (game_th_on) {
           long starttime = System.currentTimeMillis();
           gameDraw();  // 游戏画面的绘制
           gameLogic(); // 游戏逻辑
           gamePlay();  // 游戏音乐的播放控制
           long endtime = System.currentTimeMillis();
           long delta = endtime - starttime;
           if (delta < thread_time) {
               try {
                   Thread.sleep(delta);
               } catch (InterruptedException e) {
                   e.printStackTrace();
               }
           }
       }
   }

D. 项目演示

  1. 开始界面

  2. 游戏进行中

  3. 游戏结束,展示得分

视频演示

开心打地鼠,Android小游戏

安装下载

下载安装包,体验试玩

E. 项目源码

关注公众号『 数字森林 数字森林 数字森林』,后台发送:打地鼠 ,获取源码。

相关推荐
通玄1 小时前
Jetpack Compose 入门系列(十):Paging 3 分页加载
android
hunterandroid1 小时前
DataStore 工程化实践:迁移、并发更新与异常恢复
android·前端
程序员-珍3 小时前
报错下载android sdk失败
android·java
齊家治國平天下5 小时前
AAOS 电源管理深度解析:休眠/唤醒/功耗优化
android·车载系统·aaos·aosp·电源管理·休眠唤醒·carpowermanager
Xzaveir5 小时前
企业号码展示不可观测怎么办:状态机、拨测事件与异常回放
android·人工智能
2501_916007475 小时前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
黄林晴6 小时前
Nearby Connections 重大变更:不再自动开启 Wi-Fi / 蓝牙,适配指南
android
恋猫de小郭6 小时前
Flutter 全新真 3D 实现,用 flutter_scene 能开发一个「我的世界」
android·前端·flutter
止语Lab6 小时前
从 PHP 到 Go:真正迁移的是复杂度的归属
android·golang·php
HLC++19 小时前
Linux的进程间通信
android·linux·服务器