我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>应用>技术动态>技术应用

【Unity教程】经典2D贪吃蛇游戏(Part 1)

文章来源:网站 作者:bonnie 发布时间:2013年10月18日 点击数: 字号:

Hello,欢迎来到2D经典游戏——贪吃蛇的游戏教程!我是来自于Unity论坛的raiden,一个程序员。

最近,我用google搜索经典游戏,就发现了Gremlin在1976年发布原始版本的经典的贪吃蛇游戏,我对自己说“为什么不用Unity来做这个游戏呢?”

所以,我宣布,作为一个目标,我不仅要编程游戏,还要以绝对不需要技术设计或建模经验的方式来做。

然后我决定,由于我是用非常“OOP”的方式来编程,“为什么我不把它做成教程呢”,这就是我为什么要完成这个教程的初衷。

你需要的东西:

Unity游戏引擎–Unity
◦CFXR – For Mac Users
◦SFXR – For Windows Users
注意:这个游戏用到了4中声音效果,Death.wav、 Food Pickup.wav、Move1 Blip.wav以及 Move2 Blip.wav。如果你不想自己制作这4种音效,你可以下载我已经做好的: Game Sounds Effects。在“创建项目”部分,我也会提示你下载这些音效。如果你使用自己做的音效,确保它们的命名和我列出的保持一致。

你需要掌握的东西:

Unity编辑器的基础知识
◦Monodevelop基础知识
◦一些通用的编程

教程内容包括:

◦你将学到什么
◦创建项目
◦开始GameManager.cs 脚本
◦第一辅助脚本 GUIHelper.cs
◦第二辅助脚本 TextureHelper.cs
◦SnakeGame.cs 脚本
◦让我们来看一些东西
◦第三辅助脚本InputHelper.cs
◦第四和最后的辅助脚本 ScreenHelper.cs
◦食物时间 Food.cs 脚本
◦让我们来看一下!
◦最后的脚本,player Snake.cs
◦让我们开始游戏!
◦挑战!

你将学到什么

这一教程旨在让你对中级C#有进一步了解,并能够运用到自己的游戏中。

我们主要集中点在于C#的Singleton。我将会在游戏中展示一些实用例子,它们怎样以一种独立并且更多的面向对象的方法来保证代码有结构和组织。

我将向你展示动态实例的力量,它怎样在运行时创造东西,以及更好的控制游戏中在什么时候什么地方发生什么。

我们还将概述“辅助”脚本(“Helper” script),展示这些脚本是怎么发挥快速执行某个动作的作用的,这可以运用到你的任何游戏项目中。你还将学到使用这些辅助脚本“overloading”。

好了,废话不多说,我们开始吧!接下来,我们将开始游戏项目,以及游戏中需要的基本的文件夹/文件结构。Let's go!

创建项目

◦使用Unity创建一个新的项目,我们就把这个项目叫做Uni2DSnake,不要导入任何资产。
◦将场景保存为Uni2DSnake
◦在项目视图添加如下几个文件夹:Resources、 Scripts,在 Scripts文件夹里添加BuildScripts 和Utils两个文件夹。
◦将C# 脚本GameManager.cs添加到Scripts文件夹
◦将C# 脚本Food.cs、 Snake.cs、SnakeGame.cs添加到BuildScripts文件夹
◦将C# 脚本GUIHelper.csc、 InputHelper.cs、ScreenHelper.cs 和TextureHelper.cs 添加到Utils文件夹
◦在场景中添加一个空的游戏对象,命名为GameManager,并把GameManager.cs 脚本拖拽到上面
◦在这里下载声音文件2D Snake Game Sounds ,添加包含声音的文件夹到Resources文件夹。
就是这些,你的项目应该这样设:Uni2DSnake Tutorial Project Setup View

开始GameManager.cs 脚本

首先在Monodevelop打开GameManager.cs脚本,Unity会默认插入如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 using UnityEngine;
using System.Collections;
public class GameManager : MonoBehaviour
{
// assign public fields here

// assign private fields here
// Use this for initialization
void Start ()
{
}// Update is called once per frame
void Update ()
{
}
}

我们需要做的就是为游戏开始GameManager脚本,像这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 using UnityEngine;
using System.Collections;
/// <summary>
/// Stores game state and game information
/// </summary>
public class GameManager : MonoBehaviour
{
// -----------------------------------------------------------------------------------------
// Start()
// -----------------------------------------------------------------------------------------
// Unity method, called at game start automatically
// -----------------------------------------------------------------------------------------
void Start ()
{
}
}

所以基本上我们现在需要的是一些注释和一个空的Start方法。在创建几个辅助脚本后,我们将回到GameManager,添加一条建立贪吃蛇游戏的线。

就让我们开始创建几个辅助脚本吧!这样我们就能在Unity中创建贪吃蛇游戏脚本并且能看到一些动作。

>>相关产品

  • 立体显示器
  • 立体投影系统
  • 立体拍摄系统
  • 数字头盔/头戴式显示器
  • 立体视频眼镜
  • 液晶快门立体眼镜
  • 手持式立体双目镜
  • 数据手套
  • 3D输入设备
  • 多点触控系统
  • 立体投影系统
  • 动作捕捉系统
  • 位置追踪器
  • 眼动仪
  • 力反馈设备
  • 3D扫描器
  • 3D打印机
  • 虚拟现实软件
    • 暂无资料
    • 暂无资料
    • 暂无资料
    • 暂无资料
    • 暂无资料