Unity3D系列教程–使用免费工具在Unity3D中开发2D游戏 第二节(下)

时间:2022-02-13 12:06:30

      声明:   本博客文章翻译类别的均为个人翻译,版权所有。转载请注明出处: http://blog.csdn.net/ml3947,另外本人的个人博客:http://www.wjfxgame.com

     这一节是紧接着上一节的。


   制作一个可以动画的砖块

   这个砖块在被破坏掉的时候需要一些动画效果。所以我们需要制作一个动画。

    1.从Orthello->Objects->Sprites里面拖动一个AnimationHierarchy视图中。 这会在OT -> Animations  下面增加一个名字类似于"Animation(id = -4320)"的Object。把它重命名为"level anims"。


    2.选中刚才新加入的OTAnimation,然后按照下图来设置属性。


    3.在Framesets下面,设置Size为3。


    4.从  OT -> Containers中把“level”,拖到OTAnimation下面的Container属性中。

    Unity3D系列教程–使用免费工具在Unity3D中开发2D游戏 第二节(下)

     5. 在Orthello -> Objects -> Sprites 里面找到AnimatingSprite然后拖动到Hierarchy 视图中。这个应该会在场景中增加一个类似与"Animating Sprite(id = -23050)"的Object。重命名为"brick"。


     6.选中刚才新增的Animating Sprite,拖动之前创建的"level anims" 到 它的Animation属性上。拖动完毕后, 属性Sprite Container 应该会自动填充了 "level" container。 如果没有的话,你可以自己手动把 "level" 的Sprite Container拖动过去。


   现在,点击Play后,你应该可以在场景中看到砖块。它将会执行Animation中的所有帧。如果你不希望它在游戏开始的时候执行,将Play On Start 取消选中。


   说明: 如果你在Game视图里看不到砖块, 请确定已经把砖块的Scale设置为1, 1, 1 (有时候我们创建一个Orthello Object的时候,它的X和Y Scale 可能会变得非常小)。


   运行如图所示:

   Unity3D系列教程–使用免费工具在Unity3D中开发2D游戏 第二节(下)


   给砖块添加碰撞

    我们需要给砖块添加碰撞体,来让我们的角色可以站在上面。

    1. 在 Hierarchy 视图中,选中 "brick", 把 "Collidable" 选中。这个将会自动在 Sprite 上增加一个Box ColliderRigidbody组件。


    2. 我们也需要给Object增加一个特定的tag,  在Edit -> Project Settings -> Tags里面增加 "Ground" "Ladder" 和 "Rope" 三个 Tag。


    3. 同样的,我们在Layers里面新增加两个层 "Ground" 和 "Ladder"。


    4. 选中 "brick",把它的TagLayer更改为 刚才设置的 "Ground"。

 

    我的CSDN博客地址: http://blog.csdn.net/ml3947,我的个人博客地址: http://www.wjfxgame.com。有人无脑Copy不加版权。中间插入个人信息。


   把它制作为Prefab

    所有重复使用的物体均做为Prefab,为性能考虑。这里不翻译了。


   制作静态的关卡精灵

    下一步,我们将会制作混凝土,*和绳子的精灵。我们将会使用相同的Container,只不过由于他们不需要动画,我们将用Sprite来替代刚才的AnimatedSprite。因为上面已经有过程,此处我将会简写。


    1. 制作混凝土砖块精灵。  

    从Orthello -> Objects -> Sprites中拖动Sprite到Hierarchy中。这会在场景中创建一个Sprite。重命名为 "concrete"。 接着从OT -> Containers 中把 level object拖动到 SpriteSprite Container属性上。目前我们可以看见精灵,只不过看到的还是砖块。我们从"Frame Index"右边,按住鼠标左右拖动调整属性,我们会看到当 Frame Index 为 14的时候,它看起来像填充的混凝土砖块。(这个索引也可以通过你制作的Sprite Atlas中看到)。

    把Collidable复选框选中。给Object添加了碰撞。

    同样将它的 Tag 和 Layer 选择为 Ground。

    最后,也将创建一个Prefab,将它拖上去。制作一个混凝土砖块的Prefab。


    2. 制作*和绳子精灵。

    步骤同上,不过*的Frame Index 为 15。绳子的Frame Index 为 17。相应的创建各自的 Prefab。


   制作底部的挡板

    现在,我们已经有了所有制作关卡的精灵了。不过,我们还需要在关卡的最下面铺一层挡板,为了避免我们的角色在最下面挖开地就掉不见了。

    这个挡板就是创建一个Cube,重命名为 "border bottom"放在屏幕适合的位置。(游戏场景的下方,可以先创建好,待会等游戏关卡创建完再放过去)。 为了让挡板Cube看起来与游戏风格类似,可以自行创建一个Meterial材质给Cube,然后将它的颜色改变为接近我们的砖块的颜色。

    

   改变背景色

    在我们准备开始制作关卡的时候,先把背景颜色改为黑色。选择 Main Camera 然后改变Background的颜色 为 0,  0, 0, 255。你应该可以看见游戏窗口的背景变黑了。

    

    制作一个关卡

    现在准备工作都已经完成了,让我们来制作一个关卡吧。

    你只需要把我们前面制作的砖块,混凝土砖块,*和绳子拖到场景中,复制,粘贴,然后调整位置。直到制作成为一个游戏场景。

    你可以完成一个类似与下面的场景。记住,使用Vertex Snap可以更容易调整砖块的位置。

    Unity3D系列教程–使用免费工具在Unity3D中开发2D游戏 第二节(下)

    讲到这里来,已经变得慢慢有趣了。这一节中,讲述了如何使用Orthello里面的动画,精灵等。

    下一节,我们将会添加我们的角色,让我们的游戏真正动起来。

     资源文件下载,请看上一节最后。有下载地址


    转载请注明出处:http://blog.csdn.net/ml3947