问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Unity开发2D游戏入门教程:从零到发布

创作时间:
作者:
@小白创作中心

Unity开发2D游戏入门教程:从零到发布

引用
CSDN
1.
https://blog.csdn.net/weixin_45565886/article/details/144940822

Unity是全球最受欢迎的游戏开发引擎之一,其强大的功能和友好的开发环境吸引了大量开发者。本文将为你详细介绍如何使用Unity开发一款简单的2D游戏,并将其发布到网上。

环境准备

首先需要下载Unity。进入Unity官网,选择对应操作系统和版本进行下载。对于Mac用户,可以直接下载最新长期支持版。下载完成后,需要根据后续游戏开发的必要,下载对应的扩展包,但需要勾选WebGL Build Support,因为我们后续会将游戏打包为Web发布到网站上。

游戏开发语言使用C#,所以还需要准备.net环境。下载地址:.NET下载页面

创建项目

我们开发的是2D游戏,这里选择2D游戏模板。

实战开发

场景搭建+实现小蛇跳跃

  1. 在Assets中导入角色与背景图片
  2. 创建Snake物品,create empty

  1. 给这个Snake物品添加一个sprite renderer,将小蛇图片拖入其中,按住shit键可以等比例缩放小蛇
  2. 调整渲染图颜色及物体大小
  3. 点击播放,查看效果
  4. 给Snake这个物品添加Rigidbody 2D重力,让其实现自然坠落
  5. 添加C#脚本代码,实现Snake跳跃操作

创建障碍物+实现物体碰撞

  1. 创建空物品Barrier,在下面分别创建topBarrier、bottomBarrier
  2. 分别给topBarrier、bottomBarrier添加Sprite Renderer,并调整物品页面布局
  3. 添加C#脚本,让障碍物实现向左移动(从视觉上实现小蛇向右移动)

脚本实现障碍物自动随机生成

目前游戏场景中的障碍物是我们自己手动拖进去的,如果要添加多个障碍物肯定不能由我们手动去操作。这里我们可以通过C#代码实现自动生成。

实现加分机制

当小蛇通过一个障碍物时,我们应该实现加分,实现思路:
在上下两个障碍物之间添加trigger,当小蛇通过后,触发trigger,执行加分函数

实现游戏结束逻辑

  1. Canvas下添加Panel,并调整页面展示位置与大小
  2. GameOverPanel下添加Text与Button,提示游戏结束与重新开始按钮

  1. 隐藏游戏结束页面,当触发碰撞条件时,游戏才结束

实现重玩逻辑

给游戏结束页面的[重新开始]按钮绑定事件,点击时,触发游戏重新开始

游戏打包

  1. File - Build Profile
  2. 选择打包参数
  3. 修改压缩参数,改为gzip或不压缩
  4. 点击Build打包游戏,然后选择打包后文件存放位置

游戏上线(itch.io)

itch.io可以算是全球最大的独立游戏平台。它和steam一样,你可以把你的游戏上架到itch上,可以是免费的,也可以让大家捐赠,也可以让大家付费购买。

  1. 注册账号之后,创建项目
  2. 填写游戏基本信息
  3. 填写完后选择save,保存为draft(第一次只能保存为草稿)
  4. 保存完后,点击项目,改为public,表明游戏公开,然后就可以把体验链接发给其他人体验了

本地运行游玩

打包后的游戏,有两个文件夹(Build、TemplateData),一个文件(index.html)

# 本地运行项目:可以通过python直接起http服务,也可以下载nginx或Tomcat等
# 9999指定运行端口
# --directory 指定unity打包后的路径
python3 -m http.server 9999 --directory /Users/ziyi/Desktop/ZiyiSnakeRun

浏览器访问localhost:9999

效果:






全部代码地址(资源文件地址)

Github(欢迎star~):
SnakeRun项目地址

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号