贸商网本站服务帮助中心手机版

贸商网

  • 全站
  • 招商
  • 供应
  • 求购
  • 产品
  • 资讯
  • 展会
  • 企业
您现在的位置:贸商网 > 资讯中心 > 物联网 > Unity2D 开发 + UGUI 系列教程(一)

Unity2D 开发 + UGUI 系列教程(一)

时间:2017-05-20  作者:贸商网  点击:159  评论:  字体:T|T

 Unity2D 开发 + UGUI 系列教程(一)

文/狂野之心

因为Unity5免费策略推出,2D功能也大大增强,于是转投Unity。在朋友鼓励下,推出Unity教程,希望能帮助那些想提高2D游戏开发效率的朋友们。需要注意的是,此系列教程都会使用5.2.0版本(目前最新5.2.2)进行开发。

那么我们就开始吧!我会做一些很常见的比较简单的小游戏,帮助大家从零开始,首先来做一个跑酷小游戏。

初识Unity2D

创建新项目,名称我用的是JustRun。一定注意,项目类型有3D和2D之分,选择2D即可。点击创建,就进入了Unity主界面。

Unity2D

这四个面板是最常用的,我只进行大致的解释,后面用得多了,大家自然会慢慢理解。面板1是游戏对象关系面板,直观地表示各个游戏对象之间的父子关系。面板2是属性面板,用来展示所选对象的各个组件和属性。面板3是场景编辑器,大量的场景编辑都需要在里面完成。面板4是工程面板,用来查看所有的资源和脚本。当然,如果大家的面板结构和我不一样,可以自行对照,也可以拖拽标签栏移动各个面板到合适的位置。

我们都知道,很多游戏引擎或者说框架,都是纯代码来开发,游戏长什么样,都是运行起来才知道。Unity是所见即所得开发,是我个人偏爱的一种开发形式,非常的直观。

光说不练假把式,在电脑里随便找一张图片,比如我这张。

 Unity2D 开发 + UGUI 系列教程(一)

把图片从文件夹里拖拽到工程面板,注意要在Assets文件夹中哦~然后拖拽到左侧的关系面板。这时,屏幕正中央就会出现一只小萌物了。点击编辑器顶栏的播放按钮,游戏就会执行起来了,再次点击退出播放模式(细心的朋友会发现,进入播放模式,Scene选项卡会切换到Game选项卡)。

添加地面

Command+s或者Ctrl+s,我们保存当前场景到Assets文件夹中,起名为Main。

由于目前我还不知道如何在Unity中创建二维形状,所以你们只能用PS做一个纯色地面了,而我要再次使用一个酷炫的素材,哈哈哈哈。

老套路,将素材添加到场景中,等等!主角被挡住了?

我们在关系面板中,选中地面,然后看属性面板,Transform面板是一个游戏对象的各种体位(你没看错……)属性,可以设置三个维度的坐标、角度和缩放。经过我的火眼金睛观察,设置地面的Position里的Y值为-1.3刚刚好。

 Unity2D 开发 + UGUI 系列教程(一)

第一个脚本

那么该让主角动起来了,It's time to go! 这一切必须借助脚本来完成,不过很可惜第一个脚本不是Helloworld。我先谈谈脚本语言的选择:作为一个曾经的JS程序员,我很庆幸自己选择了C#进行开发,虽然我当时对C#一无所知。根据我自己的使用经验,JS是一种弱类型语言,游戏客户端开发需要大量使用字典、数组、链表等等,明确知道一个链表里存的是什么鬼,非常的必要。如今我C#也使用的很娴熟了,我都不敢想象如果选择了JS现在的处境会怎么样,代码复杂度高了以后,JS非常的难以维护。

在Project面板中,右键Create,选C# Script,命名为ScrollGround。这个脚本我们挂在地面对象上,让地面向后滚,这样主角就被迫向前跑了,哈哈哈哈。

双击脚本,你将打开一个MonoDevelop编辑器,public class后面的类名如果不是ScrollGround,就改成这个名字。回到Unity编辑器,将脚本拖拽到地面对象的属性面板,如图:

 Unity2D 开发 + UGUI 系列教程(一)

然后我们回到MonoDevelop编辑器,这里是用来编写脚本的地方。这个脚本将决定地面对象的一切行为,全权控制。Start函数是这个对象第一次出现在场景中时会调用的函数,做一些初始化功能,Update函数每一帧都会执行一次,英文注释里都有解释,MonoBehavior是Unity的游戏对象基础类,继承这个才可以用这些函数。

第一行代码

我们来一点点尝试脚本的编写吧,即使不会C#也没关系,对着教程,自己多练习,慢慢就会熟悉的。

Update函数中,加入下面这一行代码:

transform.position -= new Vector3(Time.deltaTime, 0, 0);

我一点点来解释:transform对应的是(挂载该脚本的游戏对象的)属性面板里的Transform栏,所以在脚本中修改position就相当于在面板里修改position。后面的这个是一个三维数组对象,Time.deltaTime是上一帧到这一帧的间隔时间,非常小的一个数值。在坐标值里减去一个很小的x轴位移,那么这个对象会每一帧向左移动一点点。回到Unity,播放一下游戏,果然如此!大人真乃神人也!


(编辑:mao35  来源:网络整理)

顶一下
发表评论

共有0位网友发表了评论 查看完整内容


版权与免责声明:
①凡本网注明"来源:贸商网"的所有作品,版权均属于本网,转载请必须注明贸商网,违反者本网将追究相关法律责任。
②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

网站服务:QQ:2632106543 广告洽谈:QQ:2632106543 Email:2632106543@qq.com All Right Reserved.   鲁ICP备16030072号-7

版权所有 贸商网 Copyright ©2014-2024 mao35.com