用新浪微博登录

只需一步,快速搞定

 找回密码
 立即注册

用新浪微博登录

只需一步,快速搞定

查看: 5859|回复: 1
打印 上一主题 下一主题

[经验] 【转载】2D游戏开发套件指南(上)

[复制链接]

签到天数: 49 天

[LV.5]常住居民I

5067

主题

1万

帖子

5万

积分

LV 17.会员

H是不对,不H是不幸福的,我要我的幸福

积分
50624

社区居民工蜂业余写手最爱沙发偶尔光临常坐沙发沙发如床社区平民常驻会员忠实会员在线达人做个有钱人略有小成渐入佳境灌水天才兵蜂蜂王专业写手原创达人知名人物小有名气游聚十周年

跳转到指定楼层
楼主
发表于 2021-1-13 10:42:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式 |          
本文将通过2D游戏开发套件中的游戏示例项目,来带领大家走进2D游戏开发的世界。游戏内容是,我们的首席工程Ellen的飞船坠落在一个古老神秘的外星星球,他必须避免危险,并且击败潜伏在这个异域文明古遗址中敌人。

项目介绍

由于篇幅限制,本指南将分为上下二篇文章。在上篇中,我们将分享使用2D游戏开发套件创建场景、绘制及测试关卡、添加移动平台、触发开门动作。

你可以访问Asset Store资源商店下载2D游戏开发套件:

https://assetstore.unity.com/packages/essentials/tutorial-projects/2d-game-kit-107098

创建新场景

本项目包含一个实用程序来自动创建一个新的默认场景。这个场景将包含我们英雄Ellen、一个小平台、生命值UI以及完整的移动、攻击所需要的元素。

首先让我们来创建一个新的场景。从顶部菜单选择“Kit Tools(套件工具)“,选择 “Create New Scene(创建新场景)”。



将会出现一个新的窗口,在“New Scene Name(新场景名称)”中,输入你希望的新场景的名称,点击“Create(创建)”。



这样会在Project窗口的根目录创建一个新场景,然后自动添加到Build Settings中。



我们刚刚创建好的场景在会在编辑器中自动打开,现在我们可以开始正式使用它进行开发了。



绘制关卡

2D游戏开发套件使用了Unity中的Tilemap功能,旨在帮助开发者轻松快速的绘制关卡,该开发套件已经设置好了一切,可以直接使用。

让我们来设计一个关卡。在顶部菜单中,点击Window > Tile Palette(窗口>瓦片调色板)。



Tile Palette(瓦片调色板)窗口如下图所示。



我们已经创建好二个瓦片集(Tileset)用于绘制关卡。这些瓦片使用了Unity的Tilemap功能中的可编程脚本瓦片(Scriptable Tile)系统。它们会自动为平台选取正确的精灵。我们在这里有二种风格的精灵:一种是铺了草皮的石头,另一种是异形建筑结构。

我们需要确保在Tile Palette瓦片调色板中选取了正确的瓦片集。


  • 点击Tileset Menu(瓦片集菜单)
  • 点击Tileset_Gamekit(瓦片集开发套件)
  • 为关卡选取想要的瓦片类型






现在我们可以在场景中绘制瓦片来创建关卡。


  • 点击选取Tile Palette (瓦片调色板)上的瓦片
  • 把鼠标移到场景视图中
  • 点击并拖拽左键来绘制关卡
  • 在Tile Palette上点击想要的瓦片来选中它



如果你不小心画错了,可以按住Shift并单击或拖拽左键来**错误的瓦片。



测试关卡

现在我们已经创建好了关卡,现在运行测试了。按下编辑器顶部Play运行按钮。



我们的玩家角色Ellen控制如下。





我们加入了调试菜单。按下键盘F12弹出选项,可以启用或禁用游戏视图中Ellen的各种武器。

添加移动平台

在场景视图中操作游戏对象前,请确保未处于绘图模式。所以我们要关闭Tile Palette瓦片调色板,或者选择编辑器左上角的移动工具,你也可以按下W,选取移动工具。



现在让我们将移动平台加入关卡中。



进入项目窗口,打开Prefabs > Interactables,右键单击并将MovingPlatform拖放到场景视图中,确保在层级窗口中选择了MovingPlatform,按下W使用移动工具,在MovingPlatform上使用移动工具将它放到想要的位置。

当你选择MovingPlatform时,会出现一条红色虚线,在虚线尾部还有一个红色箭头。这个箭头表示游戏运行时该平台的移动路径。



使用红色虚线尾部的红色箭头来设置平台的移动路径。



如果想要预览MovingPlatform的移动路径,可以选择MovingPlatform。你可以查看检视窗口,在Moving Platform(移动平台)组件中,找到Preview Position(预览位置)滑块,点击并拖拽来移动滑块,查看MovingPlatform会怎么移动。

现在我们要让平台以矩形为移动路径循环移动,使它的路径略为复杂。我们通过添加节点(Node)可以实现这个功能。

对Moving Platform组件来说,节点是额外的导航点。



在检视窗口中找到Moving Platform组件,点击二次Add Node(增加节点)。



这样会添加二条额外的红色虚线和图示。使用图示来将你的额外节点组成矩形。

你会注意到,目前没有路径将最后的节点和开始的节点连接在一起。如果我们按下Play运行,它会停在最后一个点上,在路径上往回移动,然后周而复始。

你可以修改平台设置,使之形成循环。在Moving Platform组件上,找到Looping(循环)选项,点开写有BACK_FORTH的下拉列表,选择Loop循环。



这样会在图示中形成循环,而平台则会使用这个路径。



注意:预览滑块无法预览完整的循环,所以你需要点击Play运行来查看其实际效果。

使用事件触发开门动作

在2D游戏开发套件中,事件(Event)能够创建动作。我们会使用事件功能来完成玩家踩到压力板时触发开门的动作。

首先添加一个门。在项目窗口中,打开Prefabs > Interactables。找到Door预制件,将其拖入场景视图中。将它放在阻挡玩家移动的位置。



现在我们在场景中添加压力板。在项目窗口中,打开Prefabs > Interactables,找到PressurePad预制件,将其拖到门前的地上。

注意:如果玩家被压力板阻挡而不能踩上去,请把压力板的位置降低一些。玩家很容易被碰撞体卡住。



这里面一些事件已经预先定义好了。例如:当踏上压力板时,PressurePad游戏对象会播放音效并发出亮光。

现在我们把PressurePad和Door连接起来。


  • 在层级窗口中,选中PressurePad
  • 在检视窗口中,找到Pressure Pad(压力板)组件
  • 在On Pressed列表中,点击右下方的+号,添加新事件
  • 将Door游戏对象从层级窗口拖到事件属性中的None(Object)字段
  • 在No Function下拉列表中,找到Animator > Play(string)






在下拉列表下的文本区,输入文本DoorOpening。



点击Play运行,使用移动按键(A或D)让角色在压力板上移动。门应该会被触发的事件打开!

所有动画片段(Animation Clips)都存在项目窗口的Art > Animations > Animation Clips文件夹中。如果想要在同一事件中播放不同的动画,你必须正确匹配动画片段的名字(即字符串)。



如果你想通过射击开关来开门,而不是放置压力板,你可以通过相同步骤实现,但要选择Prefabs文件夹中的ResusableSwitch预制件。

小结

今天上篇就分享到这里,相信大家一定对2D游戏开发套件有了一定了解,后面我们将分享下篇内容,涉及到游戏中的敌人、摧毁对象、传送玩家等内容。
回复

使用道具 举报

签到天数: 1957 天

[LV.Master]伴坛终老

1910

主题

9785

帖子

3万

积分

新闻组

Rank: 5Rank: 5

积分
30348

游聚十周年

QQ
沙发
发表于 2021-1-13 11:02:59 | 只看该作者
不了解,下一位                       
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

     
    Archiver|手机版|小黑屋|( 沪ICP备12034951号 )

GMT+8, 2024-12-22 15:34 , Processed in 0.119513 second(s), 33 queries .

© 2001-2011 Powered by Discuz! X3.1

快速回复 返回顶部 返回列表