2D物体的创建,非常的简单,这里给一个链接,我今天学习主要靠他了:


(Unity 4.3 制作一个2D横版射击游戏)



添加物体非常简单

  1. 在 Project 窗口下,Create > GameObject Empty,暂取名为OB1
  2. 给这个OB1添加组件(Component),2D > Sprite,将这个Sprite的Sprite属性设置为准备好的纹理即可

接下来就要说说如何准备 纹理了:


  1. 打开PS,新建一个PSD,制作成为背景为透明的,前景为物体的图像(这里是很多个图像,排列在一个文件中),导出为 .PNG 格式
  2. 将这个 .PNG 文件拖入 Assets 窗口中
  3. 选中这个 .PNG,其 Texture Type 属性设置为 Sprite (2D and UI),Sprite 属性设置为 Multiple(这是为了将 .png 中的多个图像设置为多个 Sprite,个人猜测后续可以拿来做动画)
  4. 打开 Sprite Editor,直接用鼠标拖拽出区域,即可将选中矩形区域添加为一个子Sprite(Sub-Sprite)

那就这样,我做了好几个组件,然后对其中一些可以移动的对象,添加了 物理引擎以期其进行 运动和碰撞检测:


  1. 选中OB1
  2. 右侧添加组件
  3. 添加刚体 rigidbody2D 以及碰撞体 Box Collider 2D

那么如果不调整参数,物体会自动下落,由于我的场景是不需要这个特性的,那么我将 rigidbody2D 中的 Gravity Scale(重力加速度因子)设置为0,即可。


那么接下来,该写脚本了,我暂时只知道 rigidbody2D 指脚本应用的对象的刚体组件,而我的主要操作是在 FixedUpdate 函数中对刚体组件 rigidbody2D 的速度属性(velocity)进行更新,而更新的来源为 Input 对象。所以接下来,我需要先了解一下 C# 的语法,以及 Unity3D 的各个物体如何对应到脚本中的对象。



于是,C#的书看了下,主要的数据类型、运算符和C非常接近,而其写法与JAVA非常类似,我发现初接触这个语言的最大特点就是命名空间,现在需要了解的是函数、对象、文件组织以及常用的一些库。




今天就这些...Game Over...