跳转到内容

Game Maker 编程/基础

来自维基教科书,开放世界中的开放书籍

Game Maker 是一种面向对象的编程语言;最基本的部分是精灵、声音、背景、对象和房间。

坐标系 (X,Y)

[编辑 | 编辑源代码]

就像你在学校里做的图表一样。在 Game Maker 中,它以像素为单位,很容易失去方向。在大多数地方(精灵房间编辑器等),你将有机会找到并在 x、y 坐标中移动。如果你对这个概念不熟悉,你可能还不知道这些是什么,但当你逐渐熟悉 Game Maker 后,它就会变得有意义。

注意 - Game Maker 使用笛卡尔坐标系,因此只支持 x 和 y 值。z 呢?z 用于 3d,因此我们不会在这里讨论它。

精灵是可以从大多数图像文件类型导入的图像,它们是游戏内对象的图形表示。精灵在 Game Maker 中使用时可以是静态的、动画的或逐步的。你可以用 MS Paint 制作精灵的程序。在高级模式下,你可以从头开始创建一个精灵,或者编辑一个已完成的精灵。

声音是在游戏内导入的音频文件,可以从多种文件类型(包括 MIDI 和 .Wav 文件)中获取。用户可以创建位置声音,以便玩家进入地下城时播放怪异的音乐,营造区域的氛围。你也可以在按钮中添加声音,以便用户按下键盘上的键时发出声音。还可以添加一般的声音,例如背景音乐。

示例 : sound_play(some_soundfile);

背景是可以从大多数图像文件类型导入的图像。背景可以水平或垂直平铺,拉伸到房间的宽度,或者用作平铺来“构建”房间的外观。与精灵类似,在高级模式下,你可以创建自己的背景或对其进行编辑。

对象是游戏世界中的一段代码,可以被编程为执行各种操作,从简单地占据空间以阻止玩家沿着路径前进,到像具有数百行代码的编程敌人一样复杂,从而赋予它少量的人工智能。对象通常用精灵表示,但也可以通过不为它们选择精灵而以不可见的方式呈现。

实例是游戏世界中对象的实际物理表示。对象是提供给定实例行为模板的代码片段,而实例则是玩家实际交互的对象。

例如,在《超级马里奥兄弟》中,只有一个库巴被编程。它被编程为向左走,直到掉进洞里或被玩家压扁。当马里奥在 1-1 关卡中奔跑时与之交互的实际库巴是那个最初编程对象的实例。

游戏中的房间是游戏世界的一部分,在游戏过程中作为单个区域呈现。在单个房间内由于对象而产生的任何全局效果(例如,使用粒子生成的雨效果)将在整个房间中呈现。你将使用对象来创建房间。

每个游戏都以步为单位运行。每一步是 1/30 秒。0.06 循环。除非你更改了房间速度,否则它将不同;或者如果存在太多对象/粒子和其他消耗你每秒帧数的东西。让我们直奔主题,很多步事件每秒都会发生。

基本上这里的一切都是数学的。对于来说,没有多少数学要做,如果有的话。但是,如果你尝试将所有内容都与你过去某个时间点上的数学课联系起来,事情会更快变得有意义。

是玩家在游戏内看到的实际东西。所以说,你的游戏中有一个机器人,它会扭动身体,用腿奔跑。一个对象会控制躯干,一个对象会控制腿。有点像树。精灵创建对象,对象反过来创建实例。

因此,无论你玩什么游戏,以《帝国时代》(这是一款 2D 实时战略游戏,如果你想知道,它可以用 Game Maker 制作)为例,你在游戏内看到的投石机或攻城锤都是攻城锤对象的实例。

当你学习如何在 Game Maker 中编程时,你可以“创建”3D 物体。Game Maker 中的 3D 比 2D 运行得更慢,因此你必须小心。但假设你是一个新手,我们不会深入探讨 Game Maker 的 3D 功能。3D 功能仅对注册的 Game Maker 用户可用。要准备一个 3D 游戏,你只需输入 d3d_start()。然后,之后... 享受大量头痛吧!

华夏公益教科书