视频: Construct 2 射擊遊戲 教學 第一課 開啟新檔案、設定文字和背景 2024
您可以了解如何保持游戏的正确高宽比,而不会出现信箱效应。您可以通过操作应用程序表面来完成此操作。应用程序表面的初始大小基于房间的大小(如果视图未处于活动状态)或视图端口(如果视图处于活动状态)。
通过缩放应用表面以尽可能适合玩家的窗口或显示尺寸,GameMaker随着玩家调整窗口大小或触发全屏模式相应地调整纵横比。以下程序显示了如何调整您的游戏以适合桌面游戏。您也可以更新移动设备的代码。
<! - 1 - >以下过程使用Application_Surface_Scaling教程。
要更新控制器对象进行缩放以达到最佳效果,请执行以下步骤:
-
打开教程,从资源树中单击以打开Objects文件夹,然后双击obj_Control。
出现对象属性。
-
选择添加事件→创建。创建事件出现在事件部分。
<! - 2 - >
从“控制”选项卡中,拖放执行代码操作。出现代码窗口。 -
在代码窗口中输入以下代码:
application_surface_draw_enable(false); min_width = view_wview [0]; min_height = view_hview [0]; scr_Resize();
-
这段代码告诉GameMaker控制器对象将接管应用程序表面的绘图。当玩家调整窗口大小时,代码还会为基本宽度和高度设置变量。代码的最后一行调用一个脚本,你在下面写。
因为你还没有写脚本,最后一行代码在代码窗口中会显示为错误,但是在你编写脚本之后,它会自行修复。点击绿色复选标记保存并关闭代码窗口。
接下来,您需要编写上一个过程中调用的脚本。从资源树中,右键单击脚本,然后选择创建脚本。出现脚本代码窗口。
-
在名称字段中,输入scr_Resize。
在脚本代码窗口中,键入以下内容:
-
cur_width = max(1,window_get_width()); cur_height = max(1,window_get_height()); var ratio = cur_width / cur_height;如果cur_width
这段代码获取当前的窗口大小,并将这些值存储在变量中。因为窗口可以被最小化,这将导致值为0(你不能被0除),你正在使用最大函数,以确保变量总是有1或更大的值。然后使用这些变量来获得游戏窗口的纵横比。在确定宽高比后,GameMaker可以使用它来正确地缩放游戏,这就是代码的其余部分所要求的。