【Unity3d】学习笔记(4)

来源:互联网 发布:linux git 安装 编辑:程序博客网 时间:2024/06/04 00:44

【Unity3d】学习笔记(4)

目录

  • Unity3d学习笔记4
    • 目录
    • 前言
    • 正文
      • NGUI插件
      • ApplicationLoadLevel
      • Texture Type
      • 相机Camera

前言

我学习Unity3d的方法是通过实战案例来学习,碰到不知道的概念在反过来查找并理解概念的意思。我认为这样比单纯的了解一大堆概念之后在开始实践要更有趣,更有动力,理解也更深。但是,同时我也认为这种方法比较适合有一些编程经验的人,一些程序设计的通用概念你可能已经驾轻就熟,而Unity特有的概念可能与你熟知的概念有相似性,关联他们,有助于你加深理解。

正文

今天开始开发合金弹头,教程在这里。遇到了以下概念:

  • NGUI插件
  • Application.LoadLevel
  • Texture Type
  • MainCamera

NGUI插件

本作是个2D游戏,用到了NGUI来编写游戏界面。NGUI是Unity的一个插件。教程中提供的不是最新的,导入到Unity5中之后有很多警告,我找到了一个较新的并上传到了百度网盘,欢迎大家下载。

简单说下NGUI在本游戏的用法。

首先是创建了Atlas。在导入NGUI插件之后,在assets视图中右键就能开到NGUI的菜单,点击Atlas Maker可以创建和管理Atlas。可以将用到的图片都导入到这个Atlas中。保存后会生成一个png,一个prefab,一个mat共三个文件。

NGUI可以方便的创建Sprite,点击widget中的forward可以将sprite显示在上面,点击snap可以保持图片大小;将Anchors的Type设为Unified后,将边距值设为0可以将图片填充为整个部件大小。

Application.LoadLevel

游戏开始有多个Scene,所以开始用到Application.LoadLevel转换场景。
该函数有两个重载,可以通过index或name载入下一关。能载入的level需要在File->Build Settings中添加到level list。载入到下一关后,上一关的所以GameObject等资源被全部Destroy。若想要保留某个GameObject可调用Object.DontDestroyOnLoad函数实现。调用LoadLevel函数会修改 Application.loadedLevel 和 Application.loadedLevelName属性。

更多详细信息可参考官方文档。

Texture Type

点击图片资源可以在Inspector视图中将Texture Type设为Sprite (2D and UI)已便用于2D游戏的Sprite。这样添加到场景中后回自带一个Sprite Renderer。

相机(Camera)

正如电影中的镜头用来将故事呈现给观众一样,Unity 的相机用来向玩家呈现游戏世界。您在场景中始终至少有一个相机,但也可以有多个。多个相机可以带给您双人分屏效果或创建高级的自定义效果。您可以让相机动起来,或者用物理(组件)控制它们。您能想到的任何东西,几乎都可以通过相机变成可能,为了配合您的游戏风格,还可以使用典型或独特的相机。

在场景2中将MainCamera的投影 (Projection)属性设置成了正交 (Orthographic),这是在2D游戏中常用的模式。

更多详细信息可参考官方文档。

0 0
原创粉丝点击