zoukankan      html  css  js  c++  java
  • 选中拖动Unity3D系列教程–使用免费工具在Unity3D中开发2D游戏 第二节(下)

    这两天一直在学习选中拖动之类的问题,现在正好有机会和大家分享一下.

              声明:   本博客文章翻译类别的均为个人翻译,版权全部。转载请注明出处: 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属性中。

            选中和拖动

             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 可能会变得非常小)。

        

           运行如图所示:

           选中和拖动

        

           给砖块添加碰撞

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

            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可以更轻易调整砖块的位置。

            选中和拖动

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

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

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

        

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

        

    文章结束给大家分享下程序员的一些笑话语录: 开发时间
      项目经理: 如果我再给你一个人,那可以什么时候可以完工?程序员: 3个月吧!项目经理: 那给两个呢?程序员: 1个月吧!
    项目经理: 那100呢?程序员: 1年吧!
    项目经理: 那10000呢?程序员: 那我将永远无法完成任务.

    --------------------------------- 原创文章 By
    选中和拖动
    ---------------------------------

  • 相关阅读:
    python之路day10命名空间和作用域、函数嵌套,作用域链、闭包
    20200719 千锤百炼软工人第十四天
    20200720 千锤百炼软工人第十五 天
    JavaScript中基本数据类型和引用数据类型的区别
    js 经纬度坐标格式化 度分秒转度 度转度分秒
    export ,export default 和 import 区别 以及用法
    10月28日学习日志
    10月20日学习日志
    10月29日学习日志
    10月27日学习日志
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3106817.html
Copyright © 2011-2022 走看看