2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等)。当前2D Toolkit版本为2.4。

这是一篇系列教程,全文共13节(官方文档为4章,不过为了每节有明确目的,我根据官方文档的标题拆成了13节),下面是本系列教程的所有链接:


之前我们已经导入了游戏素材,在Project窗口,你可以看到Mole文件夹。打开里面的Textures文件夹,你会看到图片列表。

2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

为了在项目中使用这些图形,我们将它们做成Sprite Collection精灵集合。

  1. 在Project窗口,新建一个文件夹,命名为Sprite Collections。

  2. 选中Sprite Collections文件夹,单击 Create > tk2d > Sprite Collection,在Sprite Collections文件夹创建一个SpriteCollection资源。

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

  3. 选中SpriteCollection资源,重命名为Land,用来存放land相关的图片。

    注意:尽管我们的游戏相当非常简单,但是如果你想做更大更复杂的游戏的话,思考如何将精灵分组是非常重要的。Unity内置动态分配系统,会自动减少draw请求,通过Z值可以非常高效的组织Sprite。在多个精灵集合中存在重复精灵时将增加draw请求次数,请不要将精灵添加到多个精灵集合。

  4. 在Inspector窗口中,单击Open Editor将会打开SpriteCollection窗口。为了更方便的拖拽精灵到窗口中,你可以将窗口固定。

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

  5. 在Project窗口中,打开并选中 Mole > Textures 文件夹,拖拽下面的精灵到SpriteCollection窗口中Drop sprite here位置。你可以单独拖动一个,也可以多个一起拖动:

    Cloud_01

    Cloud_02

    Cloud_03

    Field_Background

    Field_Foreground

    Field_Midground

    Field_Ploughed

    Fields

    Grass_01

    Grass_02

    Sky_Burst

    Sky_Colour

    Stone_01

    Stone_02

    Stone_03

    Stone_04

    Stone_05

    Tree_01

    Tree_02

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

在Sprites列表下,你可以选择其中一个精灵,它将会显示在主窗口中。

  1. SpriteCollection窗口中,点击Settings按钮打开设置,这里的设置影响集合中的所有精灵。

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

  2. 在早期的2DToolkit版本中,为了让游戏对象正确的显示在屏幕上,你需要选中 Use tk2DCamera 选项。不过,在当前版本的2DToolkit中,精灵集合会自动检测tk2DCamera是否使用。单击 Commit 按钮保存我们所进行的修改。

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

  3. 你可能会看到一个弹窗警告:unable to fit textures in the requested atlas area ,单击OK按钮。这里提示我们纹理过多,合并后的图片可能超出大小,一般是指2048*2048这种。如果你做过图片合并压缩,可能会理解我的意思。

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

  4. 我们有两种途径解决此问题:在Atlas Settings中增加Atlas的大小,或者把大图分割成多个小图,或者两种办法同时使用。

  5. 在Spite列表中的选中一个精灵,能在主窗口的右下角看到图片的大小。通过查看各个sprite,我们可以看到 Field 精灵尺寸最大。

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

  6. 选中Field的多个精灵,在右边窗口中把 Render Mesh 值从 Default 修改为 Diced 。

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

  7. 它将会提供给我们两个可供改变的值:Dice X 和 Dice Y。修改他们两个的值为64并点击Apply按钮。这会将每个图片分割为64*64的块,不过不用担心,2d Toolkit会在他们需要显示时,将它们重新组合在一起。下面的图片展示了修改之前和之后的样子:

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

    正如你所看到的,精灵被存储为未切割图谱的原始图像,而在切块图集中已进行切割。

  8. 返回Settings设置,并且将Atlas Settings中的Max Size值修改为2048并单击Commit,图集就会被创建。对于其他精灵图集你可能需要经过试验来找到合适的切片及图集大小。

    2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

  9. 重复步骤2开始创建包含以下详细内容的精灵集合:

    Mole: Mole_Hit, Mole_Hole, Mole_Hole_Mud, Mole_Normal
    Dust: Animated_Dust_01 to Animated_Dust_16

记住确定你的修改!


本系列教程的所有链接:

上一篇:Android _优雅实现元素间的分割线 (支持3.0以下)


下一篇:[译]在AngularJS中何时应该使用Directives,Controllers或者Service