欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Unity入门篇 : Unity2D 基本游戏框架(用户控制,角色行为,事件)

程序员文章站 2022-04-07 17:49:22
...

0x00 概要

使用Unity创建好一个项目之后,我们首先搭建起一个2D游戏的基本框架,再基于这个框架不断添加自己的创意元素。
一个主流2D游戏的要素:

  1. 玩家通过键盘,鼠标对游戏角色(Sprite)进行控制
  2. 游戏角色要能够根据玩家的输入做出不同行为
  3. 当游戏场面达到某种状态时能够触发特定的事件(比如捡起道具,击杀敌人后获得奖励)

0x01 Unity中的操作

  • 创建Sprite

Unity入门篇 : Unity2D 基本游戏框架(用户控制,角色行为,事件)

2D模式下,将图片直接拖入Assets中就会自动变成Sprite,再拖入到场景中:
Unity入门篇 : Unity2D 基本游戏框架(用户控制,角色行为,事件)
就算创建完成了,这里黑色图片作为地面(Ground)。tank会被遮挡,选中tank,右侧的属性界面,把Order in Layer的值设置为1,这个属性描述了sprite在哪个图层被渲染,默认都是0,数字越高表示越靠顶部。

Unity入门篇 : Unity2D 基本游戏框架(用户控制,角色行为,事件)

  • 赋予Sprite物理属性

选中一个Sprite,点击Componet -> Add… 或者直接按快捷键Ctrl+Shift+A
Unity入门篇 : Unity2D 基本游戏框架(用户控制,角色行为,事件)
在出现的菜单中选择Physics 2D
Unity入门篇 : Unity2D 基本游戏框架(用户控制,角色行为,事件)
然后根据需要选择物理类型,这里我选择了常用的Rigidbody 2D ,2D刚体
Unity入门篇 : Unity2D 基本游戏框架(用户控制,角色行为,事件)
sprite的属性栏就会出现
Unity入门篇 : Unity2D 基本游戏框架(用户控制,角色行为,事件)
然后就可以设置他的质量(Mass),线性阻力(Linear Drag),角阻力(Angular Drag),重力大小(Gravity Scale)等物理属性,勾选Simulated,Sprite的物理属性就会生效并且能够和其他2D刚体发生相互作用。


0x02 C# Scripts如何写

在Unity中我们能够通过相当简便的鼠标点击来快速构建出我们需要的元素,接下来就需要用C#脚本编写游戏逻辑来使这些本来彼此孤立的元素连接起来,注入灵魂。

  • 键盘输入

最简单的移动:

   float dx = Input.GetAxis("Horizontal");
   float dy = Input.GetAxis("Vertical");

这两行可以读取水平和垂直的按键(WASD都可以),然后保存为水平和垂直的单位分量。
或者使用Input.GetKey来获取任意某个按键是否被按:

 if(Input.GetKey(KeyCode.Escape))
 	Application.Quit();

这个实例实现了按下ESC退出游戏的效果

相关标签: 游戏