浅谈AVG游戏中的脚本

最近因为笔记本数据丢失,翻网盘的时候找到了大学时候写的基于XNA的2D游戏引擎的代码,和为这个引擎写的使用示例 。
其中比较大点的示例就是一个ACT游戏,一个AVG游戏和一个A*寻径算法 。
因为当时的AVG游戏的脚本没有加密,就拿出来了看了一下 。
【浅谈AVG游戏中的脚本】谈到脚本,我想大家都不陌生,通过简易快速和可扩展性俘获大家的脚本语言比比皆是 。
之前在百度博客的时候,就有很多人问道过AVG游戏的脚本 。
其实AVG游戏的脚本,就是比较简单的逐行运行的脚本,大多数时候,都可以自己简单的定义一下脚本命令然后自己进行解析执行 。
下面给大家看看我之前的AVG游戏的脚本 。

浅谈AVG游戏中的脚本

文章插图
最开始是几个set命令 。前面是名称,后面其实是相应的资源的代号 。使用中文进行set,可以在后面写脚本时更能清楚的使用 。
就是播放音乐的指令,后面的音乐代号其实也可以在开头用set进行中文化,不过由于音乐的数量并不多,在这里就直接播放了 。
就是显示文本后面有文本内容, 使用的字体的代号,以及显示的位置 。后面的游戏截图会显示的 。
浅谈AVG游戏中的脚本

文章插图
就是将之前显示的文本都消失 。
back(家) 就是家的背景渐变显示出来 。
同理, back 。就是将背景渐变的消失 。
xxxxx 。也就是AVG游戏中的逐字显示文本了,通常是独白 。
name xxxxx 。就是AVG游戏中某个人物说话了 。前面是人物名称 。
下面看看后面的脚本:
浅谈AVG游戏中的脚本

文章插图
wait指令,其实是不进行的操作的,就是延迟一条脚本 。这个看各自的需求了 。
后面有一个很重要的选择 。选择在AVG游戏中是非常重要的,因为不同的选择,意味着不同的剧情和不同结局 。
我在这里才用了menu ()指令 。
在这里是一个变量,用于记录你的选择ID而则是选择的数量,由于我的脚本是逐行解析运行,所以这里定义出选择的数量会比较的方便 。后面则是选择框的大小了 。
menu end 用于选择定义的结束 。
然后就是if语句了,通过if 判断 选择项,从而通向不同的脚本 。
这只是简单的方式,如果是自定义的命令脚本,并一次将所有的脚本进行解析的话,其实可以在脚本内部进行跳转,只不过我觉得那样看起来会比较乱(类似C++中的goto...);
下面的是1.mg和2.mg脚本 。由于我的只是示例所以脚本并未命令,通常用数字做命令到后面会非常乱,并不建议 。
1.mg
浅谈AVG游戏中的脚本

文章插图
2.mg
浅谈AVG游戏中的脚本

文章插图
大家可以看到,通过不同的选择,一个去了咖啡厅,一个去了公园 。这也是AVG游戏中常见的套路 。
其实还会有音效, 天气等的指令,在这里不一一列举出来 。都是举一反三的 。
很多人不了解AVG游戏的运作,最主要的是很少有人愿意把自己游戏的脚本拿出来共享 。
我相信大家通过这样的脚本,也能大致的开发自己的AVG游戏了 。