前期准备:

在Main Camera的 Inspector 视图中:

  1. 将Main Camera 的位置坐标全改为0;
  2. 将Camera ---- Projection 选中为 Orthographic. 【重点,一定要改,不然后面制作UI层有些组件位置不对】
    Orthographic — 正交摄像机
    Perspective — 符合近大远小的特征

导入素材:

在 Assets 中建一个文件夹 Spite , 放入一些游戏中物体的各种图片素材。

在这里记录一个将几张图片合成一个短动画,达到一些物体亮闪闪的效果。
项目中,将如下diamond、Gold做成亮闪闪的效果。
步骤如下:

  • 在 Assets 文件夹中 创建一个文件夹 Animator ,用于保存做好动画。
  • 选中物体相关的几张图片,然后按住鼠标拖至 Hierarchy 视图框中弹出电脑文件夹【如下图】,修改文件名,将地址改为 Animator ,点击“保存”。
  • 这样便做好了 diamond 的动画,Gold 的做法同理。在Animator 中便会有着这些文件【如下图】
  • 应用至游戏操作:首先将物体相关的任意一个素材拖进 Hierarchy ,然后为其添加 Animator 组件,然后将相应的动画拖进该组件的 Controller

    注:注意拖进Controller的文件不是你命名的那个文件,而是另一个对应的文件,这个要拖的文件名是这个物体相关的那几张图片中的任意一张的文件名。

    这些调好之后就可以在游戏启动后看到亮闪闪的效果。

正式开始

游戏制作分为三层:背景层、UI层、游戏层,按这个顺序制作。
背景层:

  1. 在 Hierarchy 添加Canvas改名为BGCanvas、Image做背景。

将Canvas 的 一些Render Mode 改为 Screen Space - Camera将 Main Camera 拖进Render Camera 的框中,然后将 Plane Distance 改为5就足够了。

  1. 选中Image,点击其 位置如图,然后 Alt + 左键 将Image填充至整个背景Canvas上。然后将背景图片拖至Source Image处,或者按后面的那个按钮直接选择。

    3D效果展示:

    2D效果展示:

UI层:
添加Canvas改名为UICanvas 、Text
将Text的大小、颜色、位置调整好,然后 Ctrl + D复制Text调整至合适位置,将各处的Text文本内容修改好。
注意:记得将 Text 的位置坐标 Z 改为与UICanvas层相同。
3D游戏环境展示:

2D游戏环境展示:

游戏层: 用来控制游戏操作。

  1. 添加游戏元素–矿石:diamond、gold、rock、mouse,添加好一个后,该设置的设置好后,直接Ctrl+D 复制几个,然后调整一下各自的位置。
  2. 添加绳子与绳套:让绳子作为绳套的父节点。
  3. 因为游戏操作中有绳套与矿石之间的碰撞,因此需要给矿石与绳套添加用于碰撞检测的组件:Rigidbody 2D 与 Circle Collider 2D,然后修改Rigidbody 2D 中的Gravity Scale 为 0 (这个是重力,改为0,就不落下去) 、Cricle Collider 2D 勾选 Is Trigger 。
  4. 编写代码,挂载至相关的游戏组件上,运行游戏。
    C#脚本实现功能内容:
    【本人小白,代码编写能力一般,就简单描述一下代码需要实现的功能就行吧】

    1. CheckObject:用于绳套检测其是否抓到(碰到)矿石。如果抓到了就将该矿石作为子节点带回,绳子回收过程中,关闭碰撞检测,避免在抓到其他矿石。
    2. GameMange:
      (1)分别枚举绳子的三种状态:摇摆Rock,拉伸Stretch,缩回Shorten。实现三种状态:Rock() { 绳子在一定范围内旋转 } ; Stretch() { 绳子在检测到鼠标左键点击事件后,拉伸变长,变长有最长限制。其次,绳子拉伸变长,但是绳套不能随之一起拉伸 } ;Shorten() { 绳子拉伸变短即可。 }
      (2)游戏时间倒计时、加分:在绳子缩短时根据是否检测到绳套有子节点来确定是否加分以及销毁该子节点;每次得分的分数通过检测各个游戏元素的 tag 【这个需要自己在Unity中添加,给每个相关游戏元素选择上】来确定加多少分。

总结:这是很简单的项目,不复杂,刚跟着那视频做的时候,那视频也就一个小时多,看起来很快的样子,但是我硬是搞了一天,有些选项没选,后面的操作效果都有误差,有些操作我不会,连个视图怎么转都不知道,搞得自己半天都不知道该怎么调整。后面代码也有错,效果简直搞笑的离谱。现在也还没找出来bug,感觉我写的和人家一模一样哦。
又重头自己做一遍,第一遍自己检查错误的时候就已经把步骤记得差不多了【吐血】,但是还是忘了一个操作,所以也检查了几遍,不过最后一遍下来基本效果都已经实现了,和视频里的差不多了。接下来呢,就是要写过关、开始游戏的一些UI设置,说实话这个还没学到,都还没接触一个设置游戏开始到玩游戏的那个页面跳转设计,一个完整的游戏还差的很远。
这次做这个本来是打算就一天时间,给自己找找做游戏的信心与兴趣,结果搞得心态难受,不过还好每次被自己傻气的无语的时候都及时打开了浏览器搜寻解决方法,成功将自己心态拉回来一段。所以每次感觉自己不行了,就一定要努力冷静让自己调整心态去想如何解决这件事,还有一个,每次不行了,就想想要不放弃吧,那个时候你会得到某一瞬间的轻松愉悦,但那也就一瞬间,接着你只会想,你这就放弃了?好意思?还不如好好再重新看看检查一下。毕竟你还是个菜鸟,还是个学习的人,又不是创造的人,总有人会给你解决方法的。

Unity2D小游戏之小白练手 ------- 黄金矿工相关推荐

  1. 30个Python小游戏,小白练手,我都能玩一天

    大家好,我是雨雨~ 今天给大家带来30个py小游戏,一定要收藏! 全部源码都整理好了 小游戏源码腾讯文档-在线文档https://docs.qq.com/doc/DRnZDTnFGVUFMc3FL 有 ...

  2. python小游戏编程实例-10分钟教你用Python写一个贪吃蛇小游戏,适合练手项目

    另外要注意:光理论是不够的.这里顺便总大家一套2020最新python入门到高级项目实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,还可以跟老司机交 ...

  3. c语言打印n个连续的字符tzz,C/C++编程笔记:C语言实现连连看游戏,小白练手项目(源码分享)...

    /*课程内容:练练看,很简单 开发环境:vs2013+easyx图形库 知识点: 数组,结构体,分支结构,图形库函数*/#include#include #define IMG_SIZE 39 //隔 ...

  4. C语言实现扫雷小游戏 纯小白 非黑窗口

    C语言实现一个普通的扫雷小游戏 纯小白所编(含代码非黑窗口!) 扫雷 主要功能 1.创建一个图形界面 2.了解扫雷游戏的原理 3.随机生成雷的位置 4.为整个数组加密,并在雷周围的位置加一 5.导入图 ...

  5. linux系统编程练手项目,精选 22 个 C++ 项目,编程小白练手首选!

    C/C++ 做为元老级的编程语言,任时光更迭依旧屹立不倒,哪怕现在煊赫一时的AI,其底层也是用其编写.linux 那么做为新手该如何快速上手 C++ 呢?固然是敲代码啊!一切不写代码的学编程都是瞎搞. ...

  6. python小白练手集合

    人工智能是都要会Python吗?前两天老师一个师兄演示写神经网络,一屋子人就我连python语法都是小白马= = 这两天在网上找了一些公开课在学python,然后呢~课程有点枯燥,理论方面的有很多小花 ...

  7. unity2d小游戏

    小游戏 简介 游戏效果 素材下载 点击这里 背景制作 动画制作 代码分享 提示:以下是本篇文章正文内容 简介 该游戏使用unity2d模板,通过简单入门级编程语言完成

  8. 论AI小游戏是怎么练成的——『寻物大作战』原理揭秘

    AI诞生以来,应用在了各个场景来帮助人们提高效率,优化体验.而在娱乐领域,越来越多的电子游戏开始将AI技术与游戏结合.今天我们为大家带来『寻物大作战』小游戏,真是称得上小小的身体,大大的能量!只要在规 ...

  9. Unity2D小游戏颜色设计简单Demo和思路分享(初学者作品)

    文章目录 前言 一.素材制作 1.这边就是简单用PS到了几个基础图形 二.场景搭建 1.搭建目标场景 2.搭建游戏场景 3.添加按钮重新开始和退出游戏 三.代码功能实现 1. Shoot脚本,子弹射击 ...

最新文章

  1. win10只有c盘怎么分区_磁盘分区:系统C盘空间不足怎么办?
  2. 10.外观模式(Facade Pattern)
  3. 基于边缘的图像分割——分水岭算法(watershed)算法分析(附opencv源码分析)
  4. ZooKeeper:win7上安装单机及伪分布式安装
  5. Py之pandas:利用pandas工具输出每行的索引值、及其对应的行数据
  6. leetcode 【 Unique Paths 】python 实现
  7. AssertJ Fest Hamcrest
  8. linux设置默认的首页文件,Linux 设置Firefox主页
  9. 如何才能成为一个成功的项目经理
  10. index.php后有乱码后缀,phpExcel在线下wamp环境下,正常导出,同样的代码到线上Linux导出文件无法打开,修改文件后缀为.xls后乱码...
  11. 一、用例图、功能模块图、ER图之间的区别和联系
  12. 温故而知新,可以为师矣,回忆一下排序的思路
  13. android操作系统偷流量,运营商在“偷流量”?用实验告诉你真相!
  14. 人体姿态识别研究综述(详细归纳!)(转载)
  15. 手机端获取用户详细地理位置(腾讯地图/高德)
  16. 基于OpenGL的Android系统视频转换功能实现
  17. DSF data model
  18. 《当下即是生活》季羡林——读书笔记
  19. PADS2007下快速布局布线PCB_本人总结
  20. 如何通过Charles+BurpSuite的配合在PC端抓到手机包

热门文章

  1. VSCODE设置自动换行后仍然无法在视区宽度内自动换行
  2. 胖胖智能电子鞋柜功能介绍
  3. 跨域, 如何解决跨越
  4. FLASH广告轮播器
  5. vue 封装 瀑布流
  6. 基于Java+Web+MySQL的记账账本管理系统
  7. pb菜单详解和MDI
  8. 怎么使用win7计算机开方,Excel开方如何计算,excel开n次方的方法
  9. 武科大C语言历年试卷,2021武汉科技大学考研历年真题
  10. LTH7r,LTH7x,LTH7s输入5V给锂电池充电芯片