相信不少人曾经在一些游戏里打开过调试控制台,然后输入一些谜之代码给自己加钱加属性,或者无中生有摆一地道具,这个金手指一样的调试控制台通常是在游戏开发过程中方便开发人员调试一些数值变化,或调整道具和关卡摆放时看会对游玩体验带来什么变化用的。
尤其是 GameMaker 这样不支持热更新的开发工具(使用 gmlive 又是另一个话题了),如果每次修改一个数值都要重新编译运行才能看到效果实在是非常麻烦的事情,所以在游戏中添加一个可以实时修改游戏内属性的控制台就显得非常有价值。


如上图所示,这个控制台可以创建、编辑几乎项目中所有的资源和属性,而且支持自动联想,你不用准确记住每一个对象的具体名称,能记忆输入的指令历史,鼠标复制粘贴,room 跳转等,功能丰富且强大。
甚至在指令输入上还具有极大的容错空间
//这些写法都支持:
set obj_player hp 100
set(obj_player,hp,100)
set obj_player.hp 100
set.obj_player.hp 100
set,obj_player(hp,100)
而且使用方法非常简单,只需要把obj_console
和font_console
两个文件添加到项目中,一个是控制台对象本体,另一个是使用的字体文件,然后在游戏初始化时创建obj_console
即可使用,默认可用 F1 和 ** ` ** 来开/关本窗口。
以下是本控制台支持的所有命令格式
create [obj] [optional x] [optional y] //创建一个对象:create obj_healthpack
set [obj] [variable] //改变一个变量的值:set obj_player hp 100
destroy [obj] //销毁一个对象: destroy obj_enemy
view [obj] [variable] //在画面上显示一个值:view obj_enemy x
script [script] [optional variable] [optional variable...] //运行某个指定脚本:script set_volume 100
game restart //重启游戏
game fullscreen_toggle //在全屏和窗口模式之间切换
game resource_count //显示游戏中当前活动的资源数量(表面、数据结构、粒子、缓冲区、路径等)
game instance_count //显示每个对象有多少个实例。
game room_restart //重启当前房间。
game room_goto [room] //跳转去指定 room
game debug_overlay [true/false] //打开/关闭GameMaker内置的fps 层。
game texture_debug [true/false] //打开/关闭GameMaker内置的纹理信息。
game set_speed [fps] //改变游戏运行的速度(以fps为单位)。
game debug_event [string] //在 debug 控制台提交消息。
console clear_screen //删除历史窗口中的所有记录。
console delete_history //删除保存文件。
console version //显示你当前运行的控制台版本。
console check_for_updates //检测更新,加载一个网页,显示您是否使用最新版本以及我正在处理哪些功能。
console about //只是为了提醒你作者是一个人。
help //列出您可以运行的各项命令。
本插件在官方的插件市场就能直接获取,完全免费:
https://marketplace.yoyogames.com/assets/7573/developerconsole