跳至主要內容
15-无限随机生成地图

你好,我是悦创。

我们先布置一点花花草草:

1. 青蛙跟随木板移动

首先,我们如何实现一个物体跟着另一个物体移动。

一个物体成为另一个物体的子物体就可以实现跟随移动。

我们可以拖一个试一试:

2. 如何在代码中实现

// filename: PlayerController.cs
if (hit.collider.CompareTag("Wood"))
{
    // TODO: 跟随木板移动
    Debug.Log("在木板上");
    // 所以最简单的是让青蛙跟随父级物体
    transform.parent = hit.collider.transform;  // 把青蛙的父级物体设为当前的碰撞,而我们上面已经判断了碰撞物体 Wood
}

AI悦创原创...大约 2 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
14-创建场景:小河

你好,我是悦创。

接下来,我们来制作我们的小河。

也就是,小河上面漂浮的木板,其实我们制作好这个公路和汽车之后呢,这个河流和木板基本上是一样的概念。

不过,在这里唯一的难点就是:小青蛙,如何跳到木板的时候,能跟着木板移动。另外还有一个难点就是,怎样判断:小青蛙是跳进河里了。

1. 搭建小河

首先,我们要搭建的是我们小河的部分。

在我们之前,其实也创建了我们的小河部分,我们继续使用同样的方法,来实现。

2. 创建空的父级物体

  1. 先选中两个角色
  2. 鼠标右键
  3. Create Empty Parent
  4. 取名字:River

AI悦创原创...大约 23 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
13-随机生成物体

你好,我是悦创。

我先快速给你演示一下另外的两个汽车:

  • Car01: 2.1
  • Car02: 2.5
  • Car03: 3

三种车,设置三种不同的速度。

在这节课中,我们要学会如何生成一个物体。并且可以随机生成三种车中的一种。

1. 编写代码

我们要编写代码,绑定在我们的 SpawnPoint A、SpawnPoint B,包括我们未来的小木板,也用同样的方式生成。

1.1 新建代码

新建我们的代码:


AI悦创原创...大约 22 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
12-创建场景:马路

你好,我是悦创。

到这里,你的三个场景块,做好了吗?做好了,我要继续开始做我们的马路了。

image-20230808194848386

1. 进入场景编辑界面

双击我们的预制体就可以进入我们的场景编辑页面,进入之后就可以进行修改了。我们所有的修改,都会影响我们的所有用到这个预制体的场景。

2. 所存在的问题

我们要点击场景中的小花,但是经常不能一次性点击到,反而会点到我们的 Panel:「因为,有一层 UI 挡在我的画面上,我会经常不小心点到它」


AI悦创原创...大约 11 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
11-创建场景:草坪

你好,我是悦创。

接下来,我们要实现一些游戏当作的玩法。

所谓,玩法就是游戏的一些机制。

我们,现在可以让青蛙朝三个方向不断的跳跃,不过我们也不希望青蛙在跳跃的过程中,毫无阻碍。

比如说:我们撞到了栅栏,撞到了小汽车,掉到河里的话,那么游戏都应该结束。所以,接下来我们要学习的就是如何触发这样的判断。

例如:在我们的游戏中,我们不希望我们的希望青蛙在我们的左侧的边界和右侧的边界,继续跳跃。——也就是我们的摄像头,只覆盖中间的范围。如果超越这个范围,游戏就失败了。

那其实就可以理解为:我希望左右两边有一个空气墙,青蛙碰到空气墙,也就判定游戏失败。


AI悦创原创...大约 10 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
10-创建左右移动动画

你好,我是悦创。

怎么样?上一节课带你创建的动画,你是否创建好了呢?——不管有没有都跟着我一起开始吧。

1. 创建动画

1.1 选择要添加动画的角色

选择要添加动画的角色

1.2 调用出我们的 Animation 和 Animator

在这一步,如果你有认真完成前面的内容话,也许就无需操作。当然,我还是会带你从零开始带你操作。

更多初始步骤查看此链接教程:https://bornforthis.cn/column/Unity-casual-mobile-game-development/07-%E5%88%9B%E5%BB%BA%E5%8A%A8%E7%94%BB.html


AI悦创原创...大约 11 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
09-实现左右移动

1. 概述

你好,我是悦创。

在这次课,我们开始尝试让我们的青蛙左右跳跃了。

那在开始左右跳跃之前,我们要先解决一个问题。

我们如何获取,我们点击的是青蛙的左侧还是青蛙的右侧呢?

我们先看看,input Action,也就是 Input Controls。

2. 设置 Vector 2

其中一个就是 Touch Position。

之前,我们只选择了它的 Value,并没有它的 control type。


AI悦创原创...大约 24 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
08-自适应相机控制

1. 概述

你好,我是悦创。

本次课,我们要实现是摄像机的移动跟随,不同设备上,同样的画面显示。

为了实现这个功能,我们会在我们的 Camera 上面挂一个代码。

用来实时检测我现在屏幕的宽度和高度。

获得实际的比例,因为我们现在常见的手机款式都不太一样。

有 16:9、有 18:9......

所以,我们根据他的比例,进行调整我们的 size。

size 数字越小离我们显示的内容就越近,越大就越远。


AI悦创原创...大约 15 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
07-创建动画

1. 创建动画

1.1 选中我们的青蛙🐸

1.2 点击 Window

这两个都是我们需要的

会打开 Animation 的窗口

Animation 窗口

上面显示了,如果你想 Frog 创建动画,你需要创建一个 Animator 控制器和 Animator Clip「动画片段」


AI悦创原创...大约 15 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
06-实现向前跳跃

1. 刚体

你好,我是悦创。

我现在要让小青蛙移动起来,而我们现在的小青蛙只是一张图片。我们需要把小青蛙变成真实的物体。

如何变成真实的物体呢?——就是为他添加一个钢体的组件。

2D 的钢体可以模拟物理的效果。——一旦一个物体有了钢体,就模拟真实世界中的一个真实的物体。

也就是,角色有了重力。

此时,我们运行游戏,你会发现小青蛙会自己向下滑走。


AI悦创原创...大约 22 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
05-全新输入系统 input system

1. 下载输入系统

那么旧的是什么呢?

新的优势是:可以同时设置多平台,多输入系统。

例如:键盘、鼠标、手柄、操纵杆、触控设置,在新输入系统中,只要设置一套输入,就可以满足各个平台的输入。

第二个就是最新系统,Both 就是两个都使用。

查看文档

2. 使用输入系统

2.1 新建文件夹


AI悦创原创...大约 8 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
04-2D俯视角渲染设置

1. 放入素材

  • 小青蛙

现在小青蛙在树的前方:

问题还是存在:

2. 设置俯视角渲染

调整 y 轴的坐标就上下移动了。

那我希望在 y 轴做一个比较,谁的 y 轴更高,谁就会当挡在前面,谁的 y 轴更低就会挡在后面。正好符合纵向的渲染方式。

我们如何修改呢?

3. 设置渲染中心

树中心点,想要放在树根,怎么办呢?


AI悦创原创...大约 7 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
03-项目规划与方法

需求

  • 运行平台
    • 移动端「制作项目的时候,留意在手机端上显示的效果」
    • 点击屏幕操作(见 玩法)
    • 自适应不同屏幕尺寸(调整 Camera 正交 size)「既然考虑到手机了,那就要考虑不同不同设备」
  • 游戏场景
    • 主要三个部分:公路、草地、小河

!!!

可以考虑整个游戏纵向无限循环或随机出现以上三个部分做成 Prefab 循环随机加载拼接地图。

  • 公路:左侧纵向双排随机时间间隔生成移动车辆🚗
  • 草地:随机障碍物位置
  • 小河:坐车纵向双排生成 3 种木板

AI悦创原创...大约 3 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
02-导入整理素材

在 unity 中最方便,最快捷的方便就是拖拽导入素材。

欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Linux、Web全栈」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQ

方法二:微信:Jiabcdefh


AI悦创原创...大约 1 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity
00-【宣导片】从0开始做游戏!

完整手机游戏制作「iOS & Android」

你好,我是悦创。

我这次为你准备了,适合快速入门学习的教程内容。

我会带你制作一款休闲的手机游戏,就是那种玩起来停不下来的那种。

学会使用 Unity C#

我们会通过这个项目学习 Unity 编辑器,以及 C# 编程语言。本教程使用最新的 Unity 2022.1 版本。

Unity Ads 广告系统接入

帮组你快速上手新功能,同时这个项目也会教大家。如何接入 Unity 的广告系统。

实现免费休闲游戏获得广告收益。


AI悦创原创...大约 2 分钟Unity休闲手机游戏开发UnityUnity休闲手机游戏开发Unity