切鱼达人,Android休闲游戏开发

使用 Android Studio 开发了一款休闲游戏 —— 《切鱼达人》

A. 项目描述

《切鱼达人》是一款有趣的休闲游戏app,让玩家在虚拟的海洋世界中体验切割各种鱼类的乐趣。

《切鱼达人》玩法简单而富有挑战性。玩家需要在游戏中扮演一名渔民,使用手指在屏幕上滑动,将不断出现的各种鱼类切割成块或片。
游戏中的鱼类种类多样,玩家需要准确地切割它们,并躲避障碍物。挑战玩家的反应速度和手眼协调能力。

游戏动效

B. 开发工具

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

C. 代码设计

Splash界面

SplashActivity

Splash界面 (SplashActivity) 是游戏的首页,它展示了游戏的得分信息。
用户可以通过点击“游戏开始”按钮进入游戏页面,开始游戏的旅程。
同时,用户还可以点击“设置”按钮对app进行配置,个性化的游戏体验。

游戏主界面

游戏主界面

鱼类“飞行”元素

FlyingElement 是《切鱼达人》游戏中的一个功能模块,用于定义和实现界面中不断出现的各种鱼类元素。
定义鱼类属性:FlyingElement 可以定义鱼类元素的属性,包括位置、旋转角度、移动速度等。这些属性将决定鱼类在游戏界面上的外观和行为。
碰撞检测:FlyingElement 还负责处理鱼类元素之间的碰撞检测。它会监测玩家切割刀子与鱼类元素的碰撞情况,以确定玩家是否成功切割鱼类,并计算得分。
控制鱼类切割元素的生成:FlyingElement 负责在游戏界面上控制鱼类切割元素的生成,并控制它们的旋转方向。

自定义游戏示图

GameView是自定义游戏示图,它继承自SurfaceView,它的顶部栏展示了游戏得分和生命值;它的中部是游戏交互界面,各种鱼类FlyingElement在其中出现,用户用手指在其中滑动切割鱼块;它的底部栏放置了“暂停”按钮,用于控制游戏中途停止。

GameView是一个自定义的游戏视图,它继承自 SurfaceView。使用 SurfaceView 的好处是它允许在独立线程中进行画面的绘制,这样可以避免主线程因为耗时的绘制操作而导致的界面卡顿,保持游戏的流畅性。
GameView示图上,顶部栏展示了游戏的得分和生命值,让玩家可以随时了解自己的游戏进展。中部是游戏的交互界面,在这里各种鱼类 FlyingElement 会不断地出现,用户可以通过手指在界面上滑动来切割鱼块。底部栏放置了一个“暂停”按钮,方便玩家在游戏进行中临时停止,以便处理其他事务。
通过这些设计,GameView 为玩家提供了一个互动丰富、操作便捷的游戏界面。

D. 项目演示

切鱼达人,开发了一款Android休闲游戏

E. 项目源码

Android Studio

关注公众号『数字森林』,后台发送关键字:切鱼,获取项目源码。


更多源码项目 »

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/424365.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试不拘一格——掌握Pytest插件pytest-random-order

在测试领域,测试用例的执行顺序往往是一个重要的考虑因素。Pytest插件 pytest-random-order 提供了一种有趣且灵活的方式,让你的测试用例能够以随机顺序执行。本文将深入介绍 pytest-random-order 插件的基本用法和实际案例,助你摆脱固定的测试顺序,让测试更具变化和全面性…

【动态规划】879. 盈利计划

作者推荐 【动态规划】【广度优先搜索】【状态压缩】847 访问所有节点的最短路径 本文涉及知识点 动态规划汇总 LeetCode879. 盈利计划 集团里有 n 名员工,他们可以完成各种各样的工作创造利润。 第 i 种工作会产生 profit[i] 的利润,它要求 group[…

V-bind缩写、V-on缩写、V-if、V-show、V-for、Computed计算属性、methods属性、监听属性watch实例

V-bind、V-for缩写 V-model V-if V-show V-for Computed计算属性 声明了一个计算属性 reversedMessage 。 提供的函数将用作属性 vm.reversedMessage 的 getter 。 vm.reversedMessage 依赖于 vm.message,在 vm.message 发生改变时,vm.reversedMessage…

性能优化(CPU优化技术)-NEON指令介绍

「发表于知乎专栏《移动端算法优化》」 本文主要介绍了 NEON 指令相关的知识,首先通过讲解 arm 指令集的分类,NEON寄存器的类型,树立基本概念。然后进一步梳理了 NEON 汇编以及 intrinsics 指令的格式。最后结合指令的分类,使用例…

如何在容器内部进行抓包

//先获取POD 的容器ID号 //去pod容器所在节点进行解析id为pid号 //通过pid号进入这个容器的网络命名空间 docker inspect --format {{.State.Pid}} 05f38d2a61e29b5a9d24fc7a3906991ab92ecd58ff7e0eb4e339a4cc6b2c4fc4 //访问容器内部,Node01节点

MATLAB初始化智能算法编码-产生随机不重复整数序列矩阵

产生随机不重复整数序列矩阵是智能算法最常用的操作之一,以下给出具体方法: clc;close all;clear all;warning off;%清除变量 rand(seed, 100); randn(seed, 100); format long g; N10; % 设定优化问题维数 lb0*ones(1,N);% 自变量上限 ub1*ones(1,N);% 自变量下限 popsize10…

​在 Linux ​中管理用户

在 Linux 系统中,用户是系统资源的主要使用者,每个用户都有一个唯一的标识符(用户ID)。为了更好地组织和管理用户,Linux 还引入了用户组的概念。用户组是用户的集合,有助于更有效地分配权限和资源。 用户是…

mysql 导入数据 1273 - Unknown collation: ‘utf8mb4_0900_ai_ci‘

前言: mysql 导入数据 遇到这个错误 1273 - Unknown collation: utf8mb4_0900_ai_ci 具体原因没有深究 但应该是设计数据库的 字符集类型会出现这个问题 例如: char varchar text..... utf8mb4 类型可以存储表情 在现在这个时代会用很多 以后会用的更多 所以不建议改…

react 实现页面状态缓存(keep-alive)

前言: 因为 react、vue都是单页面应用,路由跳转时,就会销毁上一个页面的组件。但是有些项目不想被销毁,想保存状态。 比如:h5项目跳转其他页面返回时,页面状态不丢失。设想一个 页面我滑倒了中间&#xf…

Java实现桃花峪滑雪场租赁系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 游客服务2.2 雪场管理 三、数据库设计3.1 教练表3.2 教练聘请表3.3 押金规则表3.4 器材表3.5 滑雪场表3.7 售票表3.8 器材损坏表 四、系统展示五、核心代码5.1 查询教练5.2 教练聘请5.3 查询滑雪场5.4 滑雪场预定5.5 新…

AI创作之旅:探索提示工程的奇妙世界

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在当今信息爆炸的时代,人工智能的发…

人工智能原理实验4(2)——贝叶斯、决策求解汽车评估数据集

🧡🧡实验内容🧡🧡 汽车数据集 车子具有 buying,maint,doors,persons,lug_boot and safety六种属性,而车子的好坏分为uncc,ucc,good and vgood四种。 🧡🧡贝叶斯求解🧡🧡…