使用视窗模式来实现更大地图
-
介绍
当你在创益编程平台上创建一个新项目时,舞台的默认大小是 480 × 360。如果您想使用比舞台更大的地图,那么舞台上就无法显示地图的所有部分。你可以使用“视窗”技术来解决这个问题。
使用视窗就像通过电视摄像机观看体育场里的足球比赛。足球场很大,所以摄像机只拍下了其中的一小部分并显示在电视上。随着镜头的转动,我们可以看到体育场的不同部分。
画布大小和视窗大小
在创益编程平台上,你可以使用画布工具来绘制更大的地图,然后仅通过一个窗口(视窗)显示画布的一小部分。
在代码编辑器中,在“编辑”菜单下,你可以找到 4 个相关的输入,供你指定画布大小和视窗大小。例如,我们可以将画布设置为 1000 x 1000,将视窗设置为 500 x 500:
进行这个更改后,切换到造型编辑器,你会注意到一些变化:
- 画布现在更大了,它是一个 1000 x 1000 的正方形。这允许你向游戏地图中添加更多的角色。
- 有一个由虚线组成的较小的500 x 500的正方形,代表当前视窗的位置。它一开始会在画布中心的位置。你可以使用程序积木更改视窗的位置,但要更改其大小只能使用菜单。
- 舞台窗口也是 500 x 500,所以它看起来像正方形而不是长方形。 舞台窗口将始终与视口具有相同的大小,以便它显示当前被视窗框住的画布部分。
覆盖整个画布
如果你选择使用放大的画布,就需要确保整个画布都被覆盖。例如,你可以选择舞台,然后选择某个背景图案,然后切换到“矢量”模式,并放大这个背景图案,直到它覆盖整个画布:
把视窗锁定在某个角色上
因为视窗小于地图(画布)面积,我们需要四处移动视窗才能看到地图的不同部分。最简单的方法是使用下面这个积木将视窗的中心锁定在某个角色上:
将视窗锁定到所选角色后,当你移动那个角色时,视窗就会同时移动。看起来角色似乎没有改变位置,而是背景在移动。当视窗跟随角色滑动到画布的某个边缘时,视窗将不再移动,这时你就会看到角色相对于视窗的移动。
直接移动视窗
当视窗并未被锁定在任何角色上时,你可以直接使用下面这个积木更改它在地图上的位置:
这里的 x 和 y 输入是视窗中心的位置。因此,如果将 x 和 y 设置为 0,则视窗的中心将与地图(即画布)的中心位于同一位置。
获取视窗当前的位置
你可以使用以下 2 个积木来获取地图上视窗中心点的 x 和 y 位置:
例如,当视窗位于地图中心时,两个积木都会报告 0。但是,视窗移动后,这 2 个积木就会报告不同的值。
附加到视窗上
假设你已将视口锁定到角色 A 上面,但你还需要始终显示另一个角色 B。这意味着当角色 A 移动时,视窗也会随之移动,而角色 B 也需要以相同的方式移动。到实现这个效果,你可以使用以下 2 个积木将角色 B 附加到视窗上,或反之将其从视窗上分离出来:
附加到视窗时,你可以指定角色相对于视窗中心的 x 和 y 位置。例如,把一个气球附加到视窗上 x 为 0 和 y 为 100 的位置。这个气球将与视窗一起移动,并始终出现在 x = 0 和 y = 100 的位置: