Skip to content

4. 背景和相机

系列

你正在阅读太空射击游戏教程第4部分

  1. 太空射击游戏,第1部分
  2. 太空射击游戏,第2部分
  3. 太空射击游戏,第3部分
  4. 太空射击游戏,第4部分
  5. 太空射击游戏,第5部分
  6. 太空射击游戏,第6部分
  7. 太空射击游戏,第7部分
  8. 太空射击游戏,第8部分
  9. 太空射击游戏,第9部分
  10. 太空射击游戏,第10部分
  11. 太空射击游戏,第11部分
  12. 太空射击游戏,第12部分
  13. 太空射击游戏,第13部分

提示

在本章中,我们将学习如何移动背景、相机和玩家。

创建背景对象

单击添加新对象,并选择平铺精灵。然后,在名称字段中键入**“背景”,从资产文件夹中选择background.png**作为图像。点击应用。

提示

我们使用平铺精灵来创建一个重复出现的背景,就像一个瓷砖马赛克。

现在,我们将在场景中添加一个背景将显示的“层”。要添加一个图层,请单击右上角的图层编辑器图标,打开图层视图。添加一个名为**“背景”的新图层,并将其位置与基础图层**交换。通过更改它们的位置,背景层将位于包含其他游戏对象的基本层的后面。

在场景中定位背景

从右上角的图标中打开属性面板。然后,从对象面板中拖动背景对象到我们场景的左上角。

在场景中选择背景对象,并打开属性面板。将大小模式更改为自定义尺寸,将宽度和高度分别更改为900和500

警告

不要忘记将基础图层切换到我们之前创建的背景图层。

现在,您将能够在场景中看到玩家,以及背景在后面。

让玩家保持在屏幕上

要使玩家保持在屏幕上,我们需要安装一个新的行为。因此,打开玩家行为视图,并添加新行为。在搜索栏中键入**“stay”以查找并安装“保持在屏幕上”**行为。

保持在屏幕上行为添加到我们的玩家。

填写底部和右边距70顶部和左边距10,然后点击应用

移动玩家、背景和相机

打开事件选项卡。创建一个新事件并添加一个新动作。在搜索栏中键入**“相机”,选择相机中心X位置**。更改修改符号为**"+(添加),并将值填充为150 imes TimeDelta()**。

提示

TimeDelta给出自上一帧以来的“经过的时间”。当您将其乘以某些数量(如150)时,它表示“每秒这么多”。在此示例中,相机将以每秒150像素的速度移动。

在上一个动作下添加一个新动作。这次选择背景对象,并选择图像X偏移。更改修改符号为**"+(添加),并将值填充为40 × TimeDelta()**。

这意味着背景对象不会移动,但显示在其上的图像将会移动,给人一种移动的印象。

由于基础图层上的相机向左移动,我们必须对玩家施加一个力,使其以相同的速度移动。在上一个动作下添加一个新动作。然后选择玩家,并选择添加力。将X轴上的速度填充为150,并将Y轴保持不变。

警告

确保选择瞬间选项。这意味着它是使对象在单个帧中移动的力。由于事件将在每帧执行,这正是我们所需要的。永久力用于当您想要为一次性事件使用动作时。

测试

这是事件页面的最新版本。

这是我们在本章节中涵盖的内容的演示。现在,摄像机和背景移动得很流畅。玩家不能离开屏幕,玩家的射击也经过了优化。

下一步

Space Shooter,第5部分