跳转到内容

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()。然后...尽情享受各种头痛吧!

华夏公益教科书