Unity 5 - Roll a Ball game - 2 of 8: Moving the Player - Unity Official Tutorials
-
0:01 - 0:04现在我们要移动玩家这个对象
-
0:04 - 0:06在此之前让我们想一想我们想要玩家
-
0:06 - 0:08有什么样的表现。
-
0:08 - 0:10我们想要这个圆球在游戏区域内滚动
-
0:10 - 0:12撞墙,不能离开地面
-
0:12 - 0:14也不能飞到空中。
-
0:15 - 0:17我们想让它和可收集的物品发生碰撞
-
0:17 - 0:19然后收集它们。
-
0:19 - 0:21这就需要物理属性。
-
0:21 - 0:23如果想要利用物理属性这个游戏对象就需要
-
0:23 - 0:26附加一个刚体(Rigidbody)组件。
-
0:26 - 0:28为了添加一个新的组件我们必须首先
-
0:28 - 0:30选择想要添加组件的游戏对象
-
0:30 - 0:32在这里我们将要选择
-
0:32 - 0:34玩家这个游戏对象。
-
0:34 - 0:37然后我们可以选择组件(Component)菜单
-
0:37 - 0:39选择物理 - 刚体(Rigid Body)
-
0:39 - 0:41这样我们就可以把这个组件附加到我们选择的
-
0:41 - 0:43游戏对象上。
-
0:44 - 0:46或者,你可以使用Inspector中的 “添加组件” 按钮
-
0:46 - 0:49选择“物理 - 刚体”
-
0:50 - 0:52以上任意一种方法都可以添加刚体
-
0:52 - 0:54组件到选定的游戏对象上。
-
0:55 - 0:57我们也可以重新排列
-
0:57 - 0:59游戏对象中组件的顺序
-
0:59 - 1:02利用右上角的
-
1:02 - 1:04上下文敏感设置菜单。
-
1:04 - 1:07这样做不会对游戏有任何影响。
-
1:07 - 1:10反之,组件顺序一致
-
1:10 - 1:13会加快我们的开发速度
-
1:13 - 1:15因为可以保持项目的结构有序。
-
1:15 - 1:17
-
1:17 - 1:19不要忘记,你可以折叠或展开
-
1:19 - 1:22组件视图,点击组件的标题栏就可以做到。
-
1:22 - 1:24我们需要注意的是当我们这样做时
-
1:24 - 1:26它会影响场景视图中相关联的
-
1:26 - 1:29组件的gizmos。
-
1:34 - 1:35现在我们要让这个玩家对象在我们的控制下
-
1:35 - 1:37移动起来。
-
1:37 - 1:39想要这样做我们需要获取玩家在键盘上的输入
-
1:39 - 1:41并且需要把这个输入作为力应用到
-
1:41 - 1:44玩家游戏对象
-
1:44 - 1:46以便使场景中的球移动起来。
-
1:47 - 1:49想要这样做需要利用附加到
-
1:49 - 1:51玩家游戏对象的脚本。
-
1:52 - 1:54首先,让我们在项目视图中新建一个文件夹
-
1:54 - 1:56用来保存脚本资源。
-
1:56 - 1:59在项目视图中点击 “新建”(Create)菜单
-
1:59 - 2:01选择 “新建文件夹” (Create - Folder)
-
2:02 - 2:04重命名为文件夹为 "Scripts"。
-
2:05 - 2:08下一步,新建一个C#脚本。
-
2:09 - 2:11在新建一个脚本时我们有以下选择
-
2:11 - 2:13我们可以选择 ”Assets - Create"
-
2:13 - 2:15来新建一个C#脚本。
-
2:17 - 2:20我们也可以通过项目视图中的 “新建” (Create) 菜单
-
2:22 - 2:24但更为便捷的方式是
-
2:24 - 2:26选择玩家游戏对象
-
2:26 - 2:29利用Inspector中的 “添加组件” (Add Component)按钮。
-
2:30 - 2:33"添加组件“ (Add Component)菜单包括了
-
2:33 - 2:34”新建脚本“ (New Script)。
-
2:34 - 2:36这样我们可以新建并附件脚本
-
2:36 - 2:38一步完成。
-
2:39 - 2:42首先让我们命名这个脚本为 ”PlayerController"。
-
2:43 - 2:47我们可以选择脚本的语言,这里选择C#,
-
2:47 - 2:50然后点击 “创建并添加” (Create and Add)。
-
2:50 - 2:52或者,回车并确认我们的选择。
-
2:52 - 2:55
-
2:55 - 2:58Unity会新建,编译并把这个脚本附加到
-
2:58 - 3:00我们选择的游戏对象上。
-
3:00 - 3:03我们需要注意的是,通过这种方法创建的脚本
-
3:03 - 3:06会把新建的脚本放在项目的根目录下
-
3:06 - 3:08或者项目视图中的最上层。
-
3:09 - 3:12我们需要把它们移动到“Scripts"目录中
-
3:12 - 3:14这样就可以保持项目视图井然有序。
-
3:15 - 3:18如果我们在项目视图中选择这个脚本
-
3:18 - 3:21我们会在Inspector中预览它们的内容,
-
3:21 - 3:23但是这些内容是无法编辑的。
-
3:24 - 3:26让我们打开脚本,
-
3:26 - 3:28我们也有多种方法办到。
-
3:29 - 3:32当我们观察用到这个脚本的游戏对象时
-
3:32 - 3:34我们可以利用上下文敏感菜单。
-
3:36 - 3:39我们可以在项目视图是双击这个脚本
-
3:39 - 3:41或者利用Inspector中的"打开”按钮,
-
3:41 - 3:44当我们在项目视图中选中脚本时
-
3:45 - 3:48这样我们就可以利用我们喜欢的脚本编辑器打开它了。
-
3:48 - 3:50在开始之前让我们生成的脚本中的
-
3:50 - 3:52示例代码删除。
-
3:52 - 3:54接下来让我们想一想,
-
3:54 - 3:56我们需要利用脚本做些什么呢?
-
3:56 - 3:59我们想在每一帧中检查玩家输入
-
3:59 - 4:02并且想把这些输入当作动作应用到
-
4:02 - 4:05玩家游戏对象的每一帧中。
-
4:05 - 4:08但我们在哪里检查和应用这些输入呢?
-
4:08 - 4:10我们有两种选择。
-
4:10 - 4:12Update和Fixed Update。
-
4:13 - 4:16Update在渲染每一帧之前被调用
-
4:16 - 4:18并且游戏中大多数的代码会保存在这个方法里。
-
4:19 - 4:21Fixed Update只有在
-
4:21 - 4:24执行物理运算之前被调用
-
4:24 - 4:27我们的物理相关的代码会保存在这个方法里。
-
4:28 - 4:30我们会移动球体通过施加力
-
4:30 - 4:32到刚体上,这是物理相关的。
-
4:32 - 4:35所以我们把代码写在Fixed Update中。
-
4:37 - 4:39那我们具体要写哪些代码呢?
-
4:40 - 4:41我们知道我们需要输入,
-
4:41 - 4:43但如何找到更多呢?
-
4:44 - 4:46在Monodevelop中有一个快捷键
-
4:46 - 4:48用来搜索Unity API。
-
4:48 - 4:51在Mac上是Command+'
-
4:51 - 4:55在PC上是Ctrl+'。
-
4:55 - 4:57选择你想搜索的项
-
4:57 - 4:59在这里我们选择Input
-
4:59 - 5:01同时按住Command或者Ctrl
-
5:01 - 5:03和单引号'键。
-
5:03 - 5:05这样就可以搜索出
-
5:05 - 5:08关于Input的参考文档。
-
5:09 - 5:11选择最上面的Input
-
5:11 - 5:14选择Interface。
-
5:16 - 5:18之后会打开 Input页面。
-
5:19 - 5:21这是关于Input类的页面
-
5:21 - 5:24我们利用这个类来读取输入管理器中的坐标设置,
-
5:24 - 5:26并且可以访问多点触控
-
5:26 - 5:28和加速度数据
-
5:28 - 5:30在移动设备上。
-
5:30 - 5:32我们可以阅读这个页面上的内容
-
5:32 - 5:34来了解如何使用这个类。
-
5:34 - 5:36对于我们来说,为了在所有平台上获取玩家的输入
-
5:36 - 5:39包括移动设备。
-
5:40 - 5:42在描述下面是
-
5:42 - 5:45类中的变量和方法。
-
5:45 - 5:47类变量用来保存
-
5:47 - 5:50像触摸次数
-
5:50 - 5:53
-
5:54 - 5:56
-
5:57 - 6:00
-
6:01 - 6:04
-
6:04 - 6:07
-
6:08 - 6:10
-
6:10 - 6:13
-
6:13 - 6:15
-
6:15 - 6:18
-
6:18 - 6:20
-
6:20 - 6:22
-
6:23 - 6:25
-
6:25 - 6:29
-
6:30 - 6:32
-
6:32 - 6:34
-
6:35 - 6:39
-
6:39 - 6:45
-
6:46 - 6:51
-
6:52 - 6:56
-
6:56 - 7:00
-
7:00 - 7:02
-
7:02 - 7:06
-
7:06 - 7:10
-
7:10 - 7:12
-
7:12 - 7:16
-
7:16 - 7:19
-
7:19 - 7:21
-
7:21 - 7:24
-
7:25 - 7:28
-
7:28 - 7:31
-
7:31 - 7:32
-
7:32 - 7:34
-
7:34 - 7:36
-
7:37 - 7:40
-
7:41 - 7:43
-
7:44 - 7:46
-
7:46 - 7:49
-
7:49 - 7:51
-
7:52 - 7:54
-
7:54 - 7:56
-
7:56 - 7:58
-
7:58 - 8:00
-
8:00 - 8:02
-
8:03 - 8:05
-
8:05 - 8:08
-
8:09 - 8:12
-
8:12 - 8:14
-
8:14 - 8:16
-
8:16 - 8:19
-
8:19 - 8:21
-
8:21 - 8:22
-
8:23 - 8:25
-
8:25 - 8:28
-
8:28 - 8:30
-
8:31 - 8:33
-
8:33 - 8:37
-
8:37 - 8:39
-
8:39 - 8:44
-
8:44 - 8:46
-
8:46 - 8:50
-
8:50 - 8:53
-
8:53 - 8:56
-
8:58 - 9:01
-
9:02 - 9:05
-
9:05 - 9:07
-
9:08 - 9:12
-
9:14 - 9:16
-
9:16 - 9:19
-
9:19 - 9:22
-
9:23 - 9:25
-
9:26 - 9:30
-
9:31 - 9:35
-
9:36 - 9:39
-
9:39 - 9:42
-
9:42 - 9:44
-
9:45 - 9:49
-
9:49 - 9:51
-
9:51 - 9:53
-
9:53 - 9:56
-
9:56 - 9:58
-
9:58 - 10:01
-
10:02 - 10:05
-
10:05 - 10:08
-
10:08 - 10:12
-
10:12 - 10:16
-
10:16 - 10:19
-
10:20 - 10:22
-
10:23 - 10:27
-
10:27 - 10:31
-
10:31 - 10:34
-
10:35 - 10:39
-
10:39 - 10:41
-
10:42 - 10:45
-
10:45 - 10:47
-
10:47 - 10:49
-
10:49 - 10:53
-
10:53 - 10:56
-
10:57 - 11:02
-
11:02 - 11:05
-
11:05 - 11:08
-
11:09 - 11:12
-
11:13 - 11:19
-
11:21 - 11:25
-
11:25 - 11:29
-
11:31 - 11:33
-
11:33 - 11:37
-
11:37 - 11:39
-
11:39 - 11:42
-
11:42 - 11:44
-
11:45 - 11:48
-
11:48 - 11:53
-
11:55 - 11:58
-
11:59 - 12:00
-
12:01 - 12:05
-
12:06 - 12:08
-
12:08 - 12:12
-
12:13 - 12:17
-
12:17 - 12:19
-
12:20 - 12:21
-
12:22 - 12:24
-
12:24 - 12:27
-
12:27 - 12:30
-
12:30 - 12:32
-
12:32 - 12:34
-
12:35 - 12:38
-
12:41 - 12:44
-
12:44 - 12:46
-
12:46 - 12:50
-
12:52 - 12:55
-
12:56 - 12:59
-
12:59 - 13:01
-
13:01 - 13:03
-
13:04 - 13:08
-
13:08 - 13:10
-
13:11 - 13:13
-
13:13 - 13:16
-
13:16 - 13:18
-
13:19 - 13:22
-
13:24 - 13:27
-
13:27 - 13:30
-
13:31 - 13:35
-
13:35 - 13:38
-
13:38 - 13:41
-
13:41 - 13:44
-
13:44 - 13:47
-
13:47 - 13:49
-
13:49 - 13:52
-
13:53 - 13:55
-
13:56 - 13:58
-
13:58 - 14:01
-
14:01 - 14:03
-
14:03 - 14:05
-
14:05 - 14:08
-
14:08 - 14:10
-
14:11 - 14:14
-
14:14 - 14:17
-
14:17 - 14:19
-
14:19 - 14:22
-
14:23 - 14:26
-
14:26 - 14:29
-
14:29 - 14:32
-
14:33 - 14:35
-
14:36 - 14:38
-
14:39 - 14:42
-
14:42 - 14:45
-
14:46 - 14:48
-
14:49 - 14:51
-
14:52 - 14:54
-
14:55 - 14:59
Show all