通过一个简单的2D游戏案例来学习unity 2D游戏开发,本文分为以下3个部分。

· 创建工作层

· 添加静态景物

· 制作2D动画

  通过这个案例,我们可以学习到unity2D游戏制作的基本流程,Sprite的创建和使用,2D物理引擎,2D的特效的使用等这些常用的知识点。

  3D游戏场景中的摄像机一般使用透视模式(Perspective),2D游戏场景中的摄像机是正交模式的(Orthographic),如果在此案例中你不幸选择了透视模式(Perspective),就会出现如角色不能按照我们的指令移动等问题。

· 1 创建工作层

  依照下图的顺序,我们在游戏场景中创建了两个工作层Background和Foreground。下图中3个工作层的优先级由高到低依次为:Foreground、Background、Default,优先机越高就越靠前,所以3个工作层中最先被渲染的是Foreground。

· 2 添加静态景物

  先导入图片,直接将资源拖动到Project视图中的Assets文件夹中 。

创建一个sprite

1. 在菜单栏中创建

2. 快速创建一个sprite,从Project视图直接拖到Hierarchy视图中

  创建好sprite后,要设置它所在所在的层和它所在层中的顺序。我们创建了草地grass和天空sky这两个sprite,它们都位于Background层,但草地所在的工作层的顺序要比天空高。所以在游戏中,草地显示在前面。

   

  我们将所有的草地和天空都交个一个游戏对象Background来管理,将它们都拖到Background中,成为Background的子对象。如果要解除父子关系,只要将子对象移动到父对象外面即可。

· 3 制作2D动画

1. 制作Sprite动画

 按照下图的顺序,我们可以将swan_sheet图片自动切割成8张小图,这8张小图用来显示动画的每个帧。

  点击图片上的三角形按钮就可以显示切割后的图片,Project视图中右下角的滑动条可以改变资源的显示方式。

  先创建一个Sprite,命名为swan,选择一张图片放入Sprite中。

  然后我们以这个名为Swan的Sprite的变换作为动画的帧,来创建一个天鹅扇动翅膀的动画。先在Hierarchy视图中选中swan,然后选择Window——Animation命令,然后点击下图中的Create按钮,来创建一个空的动画。最后,我们将该动画保存到项目中。

  先在Hierarchy视图中选中swan,然后选择Window——Animation命令,在Animation视图中添加变换的Sprite。

     删除一个关键帧,右击一个关键帧,选择Delete Key命令即可。

  

  添加一个关键帧,右击一个关键帧的右侧,选择Add Key命令,然后设置动画帧变换的Sprite。然后重复多次这样的步骤,就可以设置好动画的每一个关键帧,最后点击Animation视图中的播放按钮就可以观看制作好的动画了。

  

2. 创建脚本来实现天鹅飞行的效果

  先创建一个C#脚本,然后编辑代码如下。我们将编辑好的脚本拖动到Hierarchy视图中的swan上,就可以运行游戏,看到动画了。

public class SwanMove: MonoBehaviour {
private float moveSpeed;
private Vector3 StartPos; //天鹅初始位置
// Use this for initialization
void Start () {
moveSpeed = ;
StartPos = new Vector3(, , );//设置天鹅的初始位置
transform.position = StartPos;
} // Update is called once per frame
void Update () {
if (transform.position.x > -)
{
transform.Translate(Vector3.right * -moveSpeed * Time.deltaTime);
}
else
{
transform.position = StartPos;
}
}
}

创建基本的2D场景(part1)的更多相关文章

  1. 创建基本的2D场景(part2)

    让我们继续来学习Unity2D游戏场景的制作,本文分为以下3个部分: · 添加角色和控制 . 添加2D物理阻挡 · 添加2D效果 通过制作一个移动帽子接保龄球的小游戏,我们可以学习到任何创建游戏对象, ...

  2. NGUI使用教程(2) 使用NGUI创建2D场景而且加入标签和button

    1.创建2D场景 要使用NGUI创建2D场景,首先咱们必须新建一个项目,而且导入NGUI作为这个项目的插件,相信假设看过上一篇教程都知道怎么导入NGUI了,这里就不赘述,假设有疑问的能够去看上一篇教程 ...

  3. 使用three.js创建大小不随着场景变化的文字

    使用three.js创建大小不随着场景变化的文字,需要以下两步: 1.将文字绘制到画布上. 2.创建着色器材质,把文字放到三维场景中. 优点: 1.跟用html实现文字相比,这些文字可以被模型遮挡,更 ...

  4. 灵感闪现 篇 (一) 2d场景 3d 效果

    中途打断一下 ,框架文档的 更新. 另开一篇主题为 灵感闪现的 板块. 在工作生活中,总有发现新事物或新东西 而让自己突然 灵感闪现的时候,那么这个时候,我必须要抓住,并尽快把 这份灵感实现下来. 之 ...

  5. 3dmax实例教程-使用3ds Max 创建一个完整的场景

    本篇教程讲述了利用3ds max创建一个完整的场景. 灵感来源:当我在遇到一些事情睡不着觉的时候我便在努力想象一些别的事情,于是我便想到了这个场景,其实对于我的这个角色我即没有参考图也没有草稿图,有的 ...

  6. 使用Unity创建塔防游戏(Part1)

    How to Create a Tower Defense Game in Unity - Part1 原文作者:Barbara Reichart 文章原译:http://www.cnblogs.co ...

  7. 使用unity创建塔防游戏(原译)(part1)

    塔防游戏非常地受欢迎,木有什么能比看着自己的防御毁灭邪恶的入侵者更爽的事了. 在这个包含两部分的教程中,你将使用Unity创建一个塔防游戏. 你将会学到如何: 创建一波一波的敌人 使敌人随着路标移动 ...

  8. 创建自定义的Cocos2d-x场景

    操作步骤 1.创建cocos2d-x工程 2.新建 Scene1.cpp Scene1.h Scene1.h代码 #ifndef __SCENE1_H__#define __SCENE1_H__ #i ...

  9. python中socket、进程、线程、协程、池的创建方式和应用场景

    进程 场景 利用多核.高计算型的程序.启动数量有限 进程是计算机中最小的资源分配单位 进程和线程是包含关系 每个进程中都至少有一条线程 可以利用多核,数据隔离 创建 销毁 切换 时间开销都比较大 随着 ...

随机推荐

  1. POJ 1201 && HDU 1384 Intervals(差动制动系统)

    职务地址:POJ 1201   HDU 1384 依据题目意思.能够列出不等式例如以下: Sj-Si>=c; Si-S(i-1)>=0; S(i-1)-Si>=-1; 然后用最短路s ...

  2. 快速构建Windows 8风格应用17-布局控件

    原文:快速构建Windows 8风格应用17-布局控件 本篇博文主要介绍三种常用的布局控件:Canvas.Grid.StackPanel. Panel类是开发Windows 8 Store应用中一个重 ...

  3. lua迭代器和仿制药for

    不管是什么样的结构,你只需要同意遍历集合可以称为迭代器的所有元素.lua常用来形容叙事功能迭代器.个元素.每个迭代器都须要保存一些状态来知道当前处于什么位置和怎样进行下一次迭代. 对于这种任务.闭包提 ...

  4. VS20XX-Add-In插件开发

    参考文章: 1:http://www.cnblogs.com/hecool/archive/2013/04/06/3002822.html 2: http://www.cnblogs.com/ande ...

  5. 《剑指Offer》面试题-重建二叉树

    题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7 ...

  6. C#接口总结

    C#接口总结 浅析C#接口特点及实例应用 C#接口(interface)的掌握对我们开发有什么作用呢?C#接口的使用能够使我们的程序有什么改进?那么我们首先我们来看看C#接口特点以及具体的实例使用分析 ...

  7. Ruby on rails3

    Ruby on rails初体验(三)   继体验一和体验二中的内容,此节将体验二中最开始的目标来实现,体验二中已经将部门添加的部分添加到了公司的show页面,剩下的部分是将部门列表也添加到公司的显示 ...

  8. ASP.NET Session丢失问题原因及解决方案

    正常操作情况下会有ASP.NET Session丢失的情况出现.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这么快就超时的. ASP.NE ...

  9. TOGAF架构能力框架之架构能力建设和架构治理

    TOGAF架构能力框架之架构能力建设和架构治理 为了确保架构功能在企业中能够被成功地运用,企业需要通过建立适当的组织结构.流程.角色.责任和技能来实现其自身的企业架构能力,而这也正是TOGAF的架构能 ...

  10. SQL 语句中的union操作符

    前端时间,用到了union操作符,周末有时间总结下,w3c手册内容如下: SQL UNION操作符 UNION操作符用于合并两个或多个select语句的结果集. 注意:UNION内部select语句必 ...