Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏

即使是如今,非常多初学游戏开发的同学。在谈到Unity的时候。依旧会觉得Unity仅仅能用于制作3D游戏的。

实际上。Unity在2013年公布4.3版本号的时候,就開始提供对制作2D游戏的支持了。比如。提供了一些专用于开发2D游戏的Unity工具。如今Unity已经公布了版本号4.5。对2D游戏的支持更是完好了不少。

为了说明Unity对2D游戏所提供的支持,本章会使用这些在Unity中原生的工具,开发一个简单的2D游戏。

本文选自《Unity 2D游戏开发高速入门》

1.1地面

普通情况下我们觉得“地面”是精灵的落脚点,没有这个“地面”精灵会发生坠落。因此本章创建一个2D游戏的第一步是,创建一个供游戏精灵落脚的“地面”。创建的详细的操作步骤是:本文选自《Unity 2D游戏开发高速入门》

(1)新建一个游戏项目、命名、并设置为2D项目,如图1-1所看到的。

从中能够看出本游戏项目名为world。

图1-1  新建游戏项目

(2)准备一个将用作2D游戏“地面”的图片,然后导入到新建游戏项目的Project视图里,如图1-2所看到的,本演示样例使用的“地面”图片,名为Platform。

提示1:导入资源到游戏项目的简单的方法是,直接拖动相应资源到Project视图下。此种方法能够一次拖入一个或者多个资源。

提示2:制作游戏的过程中,会不断的导入游戏所需的资源,假设不提前做出整理规划的话,导入的资源多了以后会十分的“乱”,不仅看起来不舒服,找起来也会十分的麻烦。因此,最好养成一个资源分类存放的好习惯。在本演示样例中,导入的“地面”图片,被放置在了Assets\Textures\Scenery目录里。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF4dWViYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

图1-2  Unity中,Project视图里,是导入的图片

(3)选中Project视图里的Platform,然后Inspector视图会显示这个图片的各项属性,以及此图片的预览视图。如图1-3所看到的。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF4dWViYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

图1-3  Inspector视图里显示了Platform的各项属性

对于此图片。有下面几个属性须要简单说明:

q   Texture Type:表示图片的类型,不同的类型在项目里的用途就不同。对于2D游戏项目。系统默认设置为Sprite(2D\uGUI);对于3D游戏项目。默认设置为Texture。

q   Filter Mode:此属性一共同拥有3个选项:Point、Bilinear和Trilinear。

设置了以后,图片用在游戏中时,质量或者说画面效果依次升高。

默认设置为Bilinear。

q   Max Size:表示图片的最大尺寸。游戏中,有时会以不同的尺寸使用图片。并进行对应的伸缩。本演示样例使用的图片Platform的实际尺寸是397×221。为了不影响图片的质量,要设置Max Size属性大于397,而属性中最接近397的是512。

q   Format:表示图片的格式。设置为16 bits,表示此图片不是压缩图片,并且能够表示数以“万亿”(216×216×216)计的颜色。本文选自《Unity 2D游戏开发高速入门》

(4)要在游戏中使用此图片的话,能够直接将此图片拖动到Scene或者Hierarchy视图里。

Unity就会在当前的游戏场景中加入这个图片对象,选中游戏场景里的此图片对象,然后在Inspector视图里设置它Transform组件下的各属性,如图1-4所看到的。

q   Position:(0,0,0)。

q   Rotation:(0,0,0);

q   Scale:(1,1,1);

图1-4  加入到游戏场景的图片对象,及其属性设置

(5)“地面”对象已经加入到了游戏的场景视图中。可是它的上面还不能“站立”不论什么精灵。也就是说它会如空气一般的存在。站立在其上面的不论什么精灵,都会如踩到了空气一样“下落”。

所以须要给“地面”对象加入Collider 2D组件。一共同拥有4类此种组件,如图1-5所看到的。

不同的类型适合于不同外形形状的对象,因为“地面”对象的外形是不规则的,因此本演示样例选择使用Polygon Collider 2D组件。本文选自《Unity 2D游戏开发高速入门》

为“地面”对象加入此组件的方法是,选中场景中的此对象。然后单击Component|Physics 2D|Polygon Collider 2D命令就可以。

加入了这个组件以后,在看场景中的“地面”对象,会发现它的表面“覆盖”了绿色的线,这个线包住了对象。如图1-6所看到的。本文选自《Unity 2D游戏开发高速入门》

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGF4dWViYQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

图1-5  4类Collider 2D组件         图1-6  加入了Polygon Collider 2D组件的效果

Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏的更多相关文章

  1. 通过创建一个简单的骰子游戏来探究 Python

    在我的这系列的第一篇文章 中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏.这次,我将展示如何使用 Python 模块 Pygame 来创建一个图形化游戏.它将需要几篇文章才 ...

  2. Unity3D 创建一个简单的2D游戏

    开始研究Unity3d 中的2D游戏. 首先创建出一个项目: 然后创建出一个场景: 然后添加一个背景: 然后创建一个主人公对象: 可以是自己做的素材,也可以是用unity裁剪的素材, 下面贴出裁剪素材 ...

  3. 从开发到部署,使用django创建一个简单可用的个人博客

    本文参考于: 简书-Django搭建简易博客教程:http://www.jianshu.com/p/d15188a74104 自强学堂-Django基础教程:http://www.ziqiangxue ...

  4. 【Unity Shaders】Reflecting Your World —— 在Unity3D中创建一个简单的动态Cubemap系统

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  5. IOS开发之小实例--使用UIImagePickerController创建一个简单的相机应用程序

    前言:本篇博文是本人阅读国外的IOS Programming Tutorial的一篇入门文章的学习过程总结,难度不大,因为是入门.主要是入门UIImagePickerController这个控制器,那 ...

  6. C#游戏开发高速新手教程Unity5.5教程

    C#游戏开发高速新手教程Unity5.5教程 试读文档下载地址:http://pan.baidu.com/s/1slwBHoD C#是微软公布的高级程序设计语言.这门语言和C语言一样,已经成为了大学计 ...

  7. C#游戏开发高速入门 2.1 构建游戏场景

    C#游戏开发高速入门 2.1  构建游戏场景 假设已经计划好了要编写什么样的游戏,在打开Unity以后.要做的第一件事情就是构建游戏场景(Scene).游戏场景就是玩家游戏时,在游戏视图中看到的一切. ...

  8. Android零基础入门第25节:最简单最常用的LinearLayout线性布局

    原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...

  9. Android零基础入门第45节:GridView简单使用

    原文:Android零基础入门第45节:GridView简单使用 前面一共用了8期来学习ListView列表的相关操作,其实学习的ListView的知识完全适用于AdapterView的其他子类,如G ...

随机推荐

  1. Redis笔记教程

    一.redis简介 1.1.1.什么是redis? REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. 读 ...

  2. 为什么选择Solr?

    在大型的SQL数据库上很难执行高速的查询有Solr是Apache 下的一个开源项目,使用Java基于Lucene开发的全文检索服务: 它是一个独立的企业级搜索应用服务器,它对外提供类似于Web-ser ...

  3. golang recover panic 流程控制的可达与不可达

    --------------------------流程控制可达----------------------------- package main import "fmt" fu ...

  4. 6. MongoDB

    https://www.mongodb.com/ https://pan.baidu.com/s/1mhPejwO#list/path=%2F 安装MongoDB# 安装MongoDB http:// ...

  5. 基于zookeeper实现的分布式锁

    基于zookeeper实现的分布式锁 2011-01-27 • 技术 • 7 条评论 • jiacheo •14,941 阅读 A distributed lock base on zookeeper ...

  6. COGS——C2274. [HEOI 2016] tree

    http://www.cogs.pro/cogs/problem/problem.php?pid=2274 ★☆   输入文件:heoi2016_tree.in   输出文件:heoi2016_tre ...

  7. 使用stringstream进行类型转换与字符串分割

    C++标准库中的<sstream>提供了比ANSI C的<stdio.h>更高级的一些功能,即单纯性.类型安全和可扩展性. 如果你已习惯了<stdio.h>风格的转 ...

  8. WGS84与WGS84 Web Mercator

    1. WGS84与WGS84 Web Mercator 1.1 关于WGS1984投影坐标系 UTM (Universal Transverse Mercator)坐标系是由美国军方在1947提出的. ...

  9. 通达OA 小飞鱼在线开发培训第一讲介绍(图文)

    培训课件的主要内容.须要參加培训的同学要注意了.课程内容以有用为主.课件仅供參考.

  10. 微信浏览器跳转外部浏览器 app下载

    这个是摘抄的,具体抄的哪里我忘记了,作为记录 2019年5月14日 现在这个好像也不好用了,微信又提示建议下载qq浏览器什么的,显示一个红色感叹号,让用户产生怀疑,很鄙视tx error_report ...