4. 背景和相机
系列
你正在阅读太空射击游戏教程的第4部分。
- 太空射击游戏,第1部分
- 太空射击游戏,第2部分
- 太空射击游戏,第3部分
- 太空射击游戏,第4部分
- 太空射击游戏,第5部分
- 太空射击游戏,第6部分
- 太空射击游戏,第7部分
- 太空射击游戏,第8部分
- 太空射击游戏,第9部分
- 太空射击游戏,第10部分
- 太空射击游戏,第11部分
- 太空射击游戏,第12部分
- 太空射击游戏,第13部分
提示
在本章中,我们将学习如何移动背景、相机和玩家。
创建背景对象
单击添加新对象,并选择平铺精灵。然后,在名称字段中键入**“背景”,从资产文件夹中选择background.png**作为图像。点击应用。
提示
我们使用平铺精灵来创建一个重复出现的背景,就像一个瓷砖马赛克。
现在,我们将在场景中添加一个背景将显示的“层”。要添加一个图层,请单击右上角的图层编辑器图标,打开图层视图。添加一个名为**“背景”的新图层,并将其位置与基础图层**交换。通过更改它们的位置,背景层将位于包含其他游戏对象的基本层的后面。
在场景中定位背景
从右上角的图标中打开属性面板。然后,从对象面板中拖动背景对象到我们场景的左上角。
在场景中选择背景对象,并打开属性面板。将大小模式更改为自定义尺寸,将宽度和高度分别更改为900和500。
警告
不要忘记将基础图层切换到我们之前创建的背景图层。
现在,您将能够在场景中看到玩家,以及背景在后面。
让玩家保持在屏幕上
要使玩家保持在屏幕上,我们需要安装一个新的行为。因此,打开玩家行为视图,并添加新行为。在搜索栏中键入**“stay”以查找并安装“保持在屏幕上”**行为。
将保持在屏幕上行为添加到我们的玩家。
填写底部和右边距为70,顶部和左边距为10,然后点击应用。
移动玩家、背景和相机
打开事件选项卡。创建一个新事件并添加一个新动作。在搜索栏中键入**“相机”,选择相机中心X位置**。更改修改符号为**"+(添加),并将值填充为150 imes TimeDelta()**。
提示
TimeDelta给出自上一帧以来的“经过的时间”。当您将其乘以某些数量(如150)时,它表示“每秒这么多”。在此示例中,相机将以每秒150像素的速度移动。
在上一个动作下添加一个新动作。这次选择背景对象,并选择图像X偏移。更改修改符号为**"+(添加),并将值填充为40 × TimeDelta()**。
这意味着背景对象不会移动,但显示在其上的图像将会移动,给人一种移动的印象。
由于基础图层上的相机向左移动,我们必须对玩家施加一个力,使其以相同的速度移动。在上一个动作下添加一个新动作。然后选择玩家,并选择添加力。将X轴上的速度填充为150,并将Y轴保持不变。
警告
确保选择瞬间选项。这意味着它是使对象在单个帧中移动的力。由于事件将在每帧执行,这正是我们所需要的。永久力用于当您想要为一次性事件使用动作时。
测试
这是事件页面的最新版本。
这是我们在本章节中涵盖的内容的演示。现在,摄像机和背景移动得很流畅。玩家不能离开屏幕,玩家的射击也经过了优化。