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

时间:2022-09-12 15:08:16

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。

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

图1-1  新建游戏项目

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

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

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

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

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所看到的。

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

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);

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

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

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

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

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

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

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

Unity 2D游戏开发高速入门第1章创建一个简单的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&num;游戏开发高速新手教程Unity5&period;5教程

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

  7. C&num;游戏开发高速入门 2&period;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. ios开发证书

    文章写得很透彻 https://segmentfault.com/a/1190000004144556?f=tt&hmsr=toutiao.io

  2. sendEmail报错:at &sol;usr&sol;share&sol;perl5&sol;vendor&lowbar;perl&sol;IO&sol;Socket&sol;SSL&period;pm

    sendEmail发送邮件是出现以下报错: *******************************************************************  Using the ...

  3. ubuntu中启用ssh服务

    ssh程序分为有客户端程序openssh-client和服务端程序openssh-server.如果需要ssh登陆到别的电脑,需要安装openssh-client,该程序ubuntu是默认安装的.而如 ...

  4. sgu Flow construction

    Flow construction 题目: 给出N个节点M条水管,要求在满足上下界的情况下.满足起点最小的流量. 算法: 这是最小流????不知道.仅仅知道用求解上下界最大流的方法就过了. 做这题收获 ...

  5. Web前端-Vue&period;js必备框架(四)

    Web前端-Vue.js必备框架(四) 计算属性: <div id="aaa"> {{ message.split('').reverse().join('') }} ...

  6. 集群LVS

    集群分为LB负载均衡集群,HA高可用集群,LB高应用集群. 前两种比较常见 LB是更加注重性能处理速度,而HA注重是服务器的在线时间. HA集群一般设有主重,当主服务器当掉时候,重服务器进行工作,此时 ...

  7. springboot常见 10问

    1.什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂.只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有 ...

  8. 有pom&period;xml文件但是无法用maven构建问题

    java项目转maven项目,要注意pom.xml文件中是否定义了JDK的版本,要与环境保持一致.项目,右键,configure,选择转换为maven项目即可.转换后,有三个位置需要注意: 1.Jav ...

  9. day 24 socket 黏包

    socket 套接字的使用: tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端 server 端 import socket sk = socket.socket() # 实例化一个 ...

  10. 使用node中的express解决vue-cli加载不到dev-server&period;js的问题

    在使用vue开发过程中,难免需要去本地数据地址进行请求,而原版配置在dev-server.js中,新版vue-webpack-template已经删除dev-server.js,改用webpack.d ...