当前位置: 首页 > 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.xdnf.cn/news/1111699.html

相关文章:

  • LeetCode经典题解:3、无重复字符的最长子串
  • ADI的EV-21569-SOM核心板和主板转接卡的链接说明
  • Kubernetes持久卷实战
  • 13. G1垃圾回收器
  • os.loadavg()详解
  • Python 训练营打卡 Day 59-经典时序预测模型3
  • Java 大视界 -- Java 大数据机器学习模型在电商用户复购行为预测与客户关系维护中的应用(343)
  • IDEA中一个服务创建多个实例
  • 【C/C++】迈出编译第一步——预处理
  • [案例八] NX二次开发长圆孔的实现(支持实体)
  • TensorFlow2 study notes[2]
  • 【Linux网络】IP 协议详解:结构、地址与交付机制全面解析
  • 算法第三十一天:贪心算法part05(第八章)
  • Qt 多线程编程:单例任务队列的设计与实现
  • 【数据结构初阶】--顺序表(二)
  • 【读书笔记】《C++ Software Design》第一章《The Art of Software Design》
  • 【一起来学AI大模型】RAG系统组件:检索器(LangChain)
  • Python 实战:构建可扩展的命令行插件引擎
  • 试用了10款翻译软件后,我只推荐这一款!完全免费还超好用
  • 挖矿病毒判断与处理 - 入门
  • DBeaver连接MySQL8.0报错Public Key Retrieval is not allowed
  • Redis集群会有写操作丢失吗?为什么?
  • 1. 好的设计原则
  • C++法则21:避免将#include放在命名空间内部。
  • 箭头函数(Arrow Functions)和普通函数(Regular Functions)
  • 【JVM|类加载】第三天
  • 《汇编语言:基于X86处理器》第7章 整数运算(3)
  • AI:机器人未来的形态是什么?
  • 商业智能(BI)系统深度解析
  • 希尔排序和选择排序及计数排序的简单介绍