当前位置: 首页 > news >正文

实验一 接苹果

主要步骤

苹果树制作(苹果与篮子的制作同理)

为苹果添加标签

相机位置设置与游戏面板长宽比设置(16:9)

苹果下落设置(将苹果从平抛运动改为垂直下落)

通过设置物理图层并更改碰撞矩阵表实现

通过PlayerPrefs实现游戏重置时High Score不会重置

 PlayerPrefs即使在游戏结束后也不会被销毁,因此最高分得以保留

后续

游戏启动界面与游戏界面

游戏失败的场景(打破最高分会有提示)

游戏成功场景

添加内容详解

导出游戏时的比例问题:找到Canvas的Canvas Scaler组件并将UI缩放模式设置为“屏幕大小缩放”。

场景转换:通过SceneLoader()函数实现了在游戏启动界面按下“Game Start”转换至游戏关卡界面并启动游戏与游戏失败和成功时按下对应按钮的正确转换。

退出游戏:在游戏启动界面左上角有一个Exit按钮按下可以退出游戏回到桌面。该功能通过调用Application.Quit()函数实现。

失败与成功提示:篮筐数为0时判定为游戏失败,当游戏失败时激活Fail的Panel,同时判定是否输出破纪录提示。得分到2000(这个分数可以改动)时判定为游戏成功,激活Success的Panel。

破纪录判定:在游戏失败或成功时将HighScore和当前得分比较,若当前得分较大则输出破纪录提示,若否,则不提示。

最高分重置:在游戏启动界面右上角有一个Reset Score按钮点击即可实现最高分重置为0,通过PlayerPrefs实现。

难度变化:每一千分设置提升难度,通过提升苹果树移动的速度、减小苹果树移动的概率(这会使苹果落下的间隔距离变远)和减小苹果下落的距离实现。

代码展示

AppleTree:实现对苹果掉落间隔,苹果树移动速度和苹果树移动方向的控制。同时也负责判断等级、难度提升以及游戏成功时的相关功能实现。

ApplePicker:负责篮筐生成、销毁和数量检测。同时实现了游戏失败时的相关功能(包括面板唤醒 是否破纪录判断 以及场景转换操作等)。

本次实验有许多关于最高分以及当前得分的调用bug,需要从c#的语言逻辑去理解并解决。同时在游戏代码的设计过程中还需要考虑是否需要每一帧都调用某些内容去减少对性能的损耗。

http://www.dtcms.com/a/276144.html

相关文章:

  • 配置驱动开发:初探零代码构建嵌入式软件配置工具
  • Windows 用户账户控制(UAC)绕过漏洞
  • 时序分解 | Matlab基于GWO-FMD基于灰狼算法优化特征模态分解-2025-7-12
  • 实现Service和UI通信,并且能够手动回收的解决方案——共享ViewModel
  • 卫星通信终端天线的5种对星模式之二:DVB跟踪
  • C++类模板继承部分知识及测试代码
  • Final
  • 剑指offer——树:二叉树的深度
  • 【C++小白逆袭】内存管理从崩溃到精通的秘籍
  • JVM 中“对象存活判定方法”全面解析
  • JVM的垃圾回收算法和多种GC算法
  • Git 相关的常见面试题及参考答案
  • 人工智能安全基础复习用:可解释性
  • 通过渐进蒸馏实现扩散模型的快速采样
  • Java-线程池
  • 【机器学习实战笔记 16】集成学习:LightGBM算法
  • AV1高层语法
  • PostgreSQL HOT (Heap Only Tuple) 更新机制详解
  • Swin Transformer核心思路讲解(个人总结)
  • 文件上传漏洞2-常规厂商检测限制绕过原理讲解
  • 强化学习、PPO和GRPO的通俗讲解
  • C语言第一章数据类型和变量(下)
  • Java 大视界:基于 Java 的大数据可视化在智慧城市能源消耗动态监测与优化决策中的应用(2025 实战全景)
  • 视频分析应用的搭建
  • 【Linux-云原生-笔记】Apache相关
  • NE综合实验2:RIP与OSPF动态路由优化配置、FTP/TELNET服务部署及精细化访问控制
  • Java反射与注解
  • 树形动态规划详解
  • 大数据时代UI前端的智能化服务升级:基于用户情境的主动服务设计
  • 【PycharmPyqt designer桌面程序设计】