开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

蛮牛译馆

关注:579

当前位置:游戏蛮牛 技术专区 蛮牛译馆

查看: 2088|回复: 20

[Unity教程] 在Unity中创建2D射击游戏(上)

[复制链接]  [移动端链接]
排名
7947
昨日变化
5

260

主题

298

帖子

1511

积分

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

UID
159865
好友
9
蛮牛币
3908
威望
0
注册时间
2016-8-1
在线时间
623 小时
最后登录
2017-10-15

蛮牛译员

发表于 2017-8-23 16:27:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
在Unity中创建2D射击游戏(上)
在本教程中,我们将学习如何创建一个使用Unity触发导弹的简单2D太空飞船; 您将学习的一些技能包括:
  • 创建精灵
  • 实例化对象。
  • 2D对象添加和使用Rigidbody物理组件。
  • 对物体施加力


添加太空飞船

所以,在本节中,我们将开始创建玩家将使用的太空飞船; 它将包括一个简单的精灵(暂时的),我们将能够使用键盘上的箭头键四个方向移动:左,右,上,下。

所以,让我们开始吧

请启动Unity并创建一个新的Project(File | New Project)。
figure1.png
在新窗口中,您可以指定项目的名称,其位置以及2D模式(这个游戏将是2D的)。
figure2.png

  • 一旦完成,您可以点击名为Create project(在窗口底部)的按钮,Unity应打开。
  • 一旦完成,您可以根据位于场景视图右上角的2D徽标来检查2D模式是否已激活。
figure3.png



我们现在将为我们的太空船创造一个新的精灵; 它将由一个简单的三角形组成。


  • 从项目视图,请选择Create | Sprites | Triangle,如下图所示。
figure4.png



这将在“项目”窗口中创建一个名为“Triangle”的新资产。
figure5.png


完成之后,您可以将此精灵(即,具有标签三角形的白色对象)从“项目”窗口拖放到“场景”视图; 这将在层次结构视图中创建一个名为Triangle的新对象。

figure6.png


在上一个窗口中,您可能会注意到屏幕底部和左侧的白线; 这些是界定屏幕上可见的界限; 因此,通过将对象放在这些行中,您可以确保播放器将被相机看到(或捕获)。

  • 现在请使用“层次结构”窗口重命名此对象播放器:要重命名此对象,可以在“层次结构”窗口中右键单击该对象,然后从上下文菜单中选择“重命名”选项。


所以在这个阶段,我们有一个新的玩家角色(即宇宙飞船),我们需要根据键盘上的按键移动它; 所以让我们这样做:

  • 请创建一个新的C#脚本(即从“项目”窗口中选择“创建| C#脚本”),并重命名此脚本MovePlayer。
  • 一旦完成,请打开此脚本并添加以下代码(新的粗体字代码):


[C#] 纯文本查看 复制代码
void Update ()
{
if (Input.GetKey (KeyCode.LeftArrow))
     {
          gameObject.transform.Translate (Vector3.left * 0.1f);
     }
     if (Input.GetKey (KeyCode.RightArrow))
     {
          gameObject.transform.Translate (Vector3.right * 0.1f);
     }
     if (Input.GetKey (KeyCode.UpArrow))
     {
          gameObject.transform.Translate (Vector3.up * 0.1f);
     }
     if (Input.GetKey (KeyCode.DownArrow))
     {
          gameObject.transform.Translate (Vector3.down * 0.1f);
     }
}




在前面的代码中:

  • 我们使用更新功能检查键盘输入。
  • 如果按下左箭头,我们将与此脚本相关联的对象(即,飞船)向左移动(即左侧0.1米)。
  • 如果按下向右箭头,我们将链接到该脚本(即太空船)的对象向右移动(即右侧0.1米)。


请注意,我们使用函数GetKey来检查是否按下了一个键;然而,如果你想检查一个键是否已经被释放,那么你可以使用GetKeyDown函数。**


您现在可以保存脚本,检查控制台窗口中的任何错误,并将脚本(即将其拖放)链接到“层次结构”视图中称为播放器的对象。一旦完成,您可以播放现场,并检查您是否可以左右移动播放器。按下键盘上的箭头键后,您应该看到宇宙飞船在四个方向移动。

请注意,要播放和停止场景,您可以按快捷键CTRL + P,或使用位于窗口顶部的黑色三角形。


射击导弹

在本节中,我们将让玩家在按空格键时射击导弹;这将涉及以下步骤:

  • 创建导弹的物体。
  • 将此对象保存为预制(即模板)。
  • 检测空格键是否被按下(然后释放)。
  • 实例化导弹预制,并向其添加速度,以便在发射时向上移动。


首先,我们为导弹创建一个新的对象:

  • 你现在可以停下来了。
  • 使用“项目”窗口,请创建一个新的圆形精灵(Create | Sprites | Circle),然后将其重命名为项目符号。
figure7.png



  • 完成此操作后,请将此项目符号资源拖放到场景(或层次结构)窗口中,这将创建一个名为项目符号的新对象。
  • 使用检查器将此对象重新缩放为(0.1,0.1,0.1)。 现在这个对象的位置并不重要。
figure8.png



将Rigidbody2D组件添加到该对象(即从顶部菜单中选择“Components | Physics2D | Rigidbody2D”),并将该组件的“重力缩放”属性(即Rigidbody2D)设置为0,如下图所示。
figure9.png


通过将Rigidbody2D组件添加到此对象,我们确保我们可以对其施加力或修改其速度; 这是说,因为我们有一个自顶向下的视图,我们不希望这个对象受到重力的影响(否则它将会掉落),这就是为什么我们为这个对象设置重力比例属性为0。

现在,我们可以将此项目符号拖放到“场景”视图中,将此项目符号转换为预制体。
figure10.png

  • 然后,您可以从层次结构中删除称为项目符号的对象。


最后但并非最不重要的是,如果玩家按下空格键,我们需要添加一些代码,用于实例化和推动这个项目符号。

  • 请打开名为MovePlayer的脚本。
  • 在脚本开头添加以下代码(新的粗体字代码)。


[C#] 纯文本查看 复制代码
public class MovePlayer : MonoBehaviour
{
public GameObject bullet;
– Please add the following code to the Update function:
if (Input.GetKeyDown (KeyCode.Space))
{
GameObject b = (GameObject)(Instantiate (bullet, transform.position + transform.up*1.5f, Quaternion.identity));
b.GetComponent<Rigidbody2D> ().AddForce (transform.up * 1000);
}



在前面的代码中:

  • 我们创建一个新的GameObject。
  • 这个GameObject将基于称为子弹的模板。
  • 如果玩家击中了空格键,新的子弹就在宇宙飞船的正上方被实例化。
  • 然后我们向上添加一个向上的力量,使其开始移动。


您现在可以保存脚本,并在控制台窗口中检查它是否无错误。

  • 如果您单击层次结构中存在的称为播放器的对象,并且如果查看检查器,则应该会看到组件MovePlayer出现了一个名为子弹的新字段。
  • 请将预制称为项目符号拖放到此字段。
figure11.png



一旦完成,你可以播放场景,并检查,按空格键后,你可以发射一个子弹。
figure12.png







原文标题:Creating a 2D Shooter







回复

使用道具 举报

5熟悉之中
757/1000
排名
7781
昨日变化
7

2

主题

516

帖子

757

积分

Rank: 5Rank: 5

UID
220880
好友
7
蛮牛币
766
威望
0
注册时间
2017-5-6
在线时间
123 小时
最后登录
2017-10-17
发表于 2017-8-23 17:37:41 | 显示全部楼层
谢谢分享

回复

使用道具 举报

7日久生情
1865/5000
排名
17344
昨日变化
5

2

主题

1566

帖子

1865

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
185807
好友
0
蛮牛币
2518
威望
0
注册时间
2016-11-22
在线时间
274 小时
最后登录
2017-10-23
发表于 2017-8-23 18:32:18 | 显示全部楼层
66666666666666666666666

回复 支持 反对

使用道具 举报

3偶尔光临
247/300
排名
10521
昨日变化
9

21

主题

103

帖子

247

积分

Rank: 3Rank: 3Rank: 3

UID
238584
好友
1
蛮牛币
577
威望
0
注册时间
2017-8-19
在线时间
53 小时
最后登录
2017-10-22
发表于 2017-8-23 23:55:11 | 显示全部楼层
蟹蟹楼猪荤响

回复

使用道具 举报

5熟悉之中
629/1000
排名
4480
昨日变化
26

1

主题

223

帖子

629

积分

Rank: 5Rank: 5

UID
206337
好友
2
蛮牛币
2036
威望
0
注册时间
2017-6-5
在线时间
157 小时
最后登录
2017-10-23
发表于 2017-8-24 08:26:59 | 显示全部楼层
我的天,这小飞机也是没谁了

回复 支持 反对

使用道具 举报

7日久生情
1975/5000
排名
6332
昨日变化
48

4

主题

1622

帖子

1975

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
209186
好友
3
蛮牛币
2561
威望
0
注册时间
2017-3-1
在线时间
191 小时
最后登录
2017-10-23
发表于 2017-8-24 09:18:06 | 显示全部楼层
谢谢分享

回复

使用道具 举报

排名
14891
昨日变化
2

0

主题

22

帖子

81

积分

Rank: 2Rank: 2

UID
202757
好友
0
蛮牛币
259
威望
0
注册时间
2017-1-17
在线时间
25 小时
最后登录
2017-10-4
发表于 2017-8-25 13:03:17 | 显示全部楼层
好有意思,赞一下

回复

使用道具 举报

3偶尔光临
233/300
排名
10341
昨日变化
12

0

主题

94

帖子

233

积分

Rank: 3Rank: 3Rank: 3

UID
238972
好友
1
蛮牛币
145
威望
0
注册时间
2017-8-22
在线时间
68 小时
最后登录
2017-10-24
发表于 2017-8-30 16:58:54 | 显示全部楼层
路过,看看,涨姿势了

回复 支持 反对

使用道具 举报

5熟悉之中
534/1000
排名
4115
昨日变化
5

1

主题

92

帖子

534

积分

Rank: 5Rank: 5

UID
102685
好友
0
蛮牛币
1555
威望
0
注册时间
2015-5-23
在线时间
169 小时
最后登录
2017-10-23
发表于 2017-9-4 08:03:10 | 显示全部楼层
不错不错

回复

使用道具 举报

5熟悉之中
749/1000
排名
6511
昨日变化
54

6

主题

385

帖子

749

积分

Rank: 5Rank: 5

UID
183904
好友
3
蛮牛币
1629
威望
0
注册时间
2016-11-15
在线时间
206 小时
最后登录
2017-10-23
QQ
发表于 2017-9-4 11:45:19 | 显示全部楼层
2222222222222222222222222222222222222222

回复 支持 反对

使用道具 举报

3偶尔光临
189/300
排名
16784
昨日变化
9

0

主题

95

帖子

189

积分

Rank: 3Rank: 3Rank: 3

UID
222161
好友
0
蛮牛币
7
威望
0
注册时间
2017-5-15
在线时间
69 小时
最后登录
2017-10-23
发表于 2017-9-5 12:48:33 | 显示全部楼层
说的不够详细

回复

使用道具 举报

排名
14891
昨日变化
2

0

主题

15

帖子

78

积分

Rank: 2Rank: 2

UID
243472
好友
0
蛮牛币
231
威望
0
注册时间
2017-9-14
在线时间
29 小时
最后登录
2017-10-17
发表于 2017-9-16 10:32:40 | 显示全部楼层
谢谢分享

回复

使用道具 举报

排名
51807
昨日变化
16

0

主题

6

帖子

12

积分

Rank: 1

UID
244245
好友
0
蛮牛币
18
威望
0
注册时间
2017-9-18
在线时间
5 小时
最后登录
2017-9-27
发表于 2017-9-19 10:16:49 | 显示全部楼层
6666666666666666666

回复 支持 反对

使用道具 举报

排名
38787
昨日变化
154

0

主题

6

帖子

13

积分

Rank: 1

UID
244527
好友
0
蛮牛币
31
威望
0
注册时间
2017-9-19
在线时间
3 小时
最后登录
2017-10-18
发表于 2017-9-19 11:33:26 | 显示全部楼层
好棒啊哈哈哈哈哈哈

回复 支持 反对

使用道具 举报

3偶尔光临
186/300
排名
10667
昨日变化
154

1

主题

61

帖子

186

积分

Rank: 3Rank: 3Rank: 3

UID
241851
好友
0
蛮牛币
405
威望
0
注册时间
2017-9-6
在线时间
56 小时
最后登录
2017-10-23
发表于 2017-9-19 21:13:07 | 显示全部楼层
感谢分享

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表