当前位置:文档之家› KRKR入门教程,教你做出一个完整的小游戏

KRKR入门教程,教你做出一个完整的小游戏

进入正题:吉里吉里(KRKR)入门篇2010年1月31日星期日18:18作者:Salles & 不知原作谁写的一、初识吉里吉里(KRKR)吉里吉里2(以下简称KRKR)/KAG3是由日本W.Dee氏编写的一个ADV(恋爱AVG文字游戏)制作引擎,具有很强的功能以及扩展性。

虽然采用了类似Java的tjs语言,但如果只是使用基本的ADV制作功能,则只需要用到KAG3的一些相对简单的指令。

由于KRKR支持Unicode,即使是日文原版也可以较好地支持其他语言。

在音频方面,它支持非压缩的Wav、Midi格式以及CD音轨,加载插件后还可以支持ogg、mp3等。

在视频方面则支持mpeg1、swf。

图像方面则支持bmp、jpg、png、eri和tlg5、tlg6等。

虽然占用资源较Nscripter等其他工具有所增大,但制作出的效果也更加华丽,前段时间大红大紫的Fate系列就很好地展现了KRKR的威力。

(《Fate/stay night》有兴趣的,可以去下载这个游戏玩玩,百度上有,这里不给下载地址了)KRKR的源程序可以在下面地址下载(去掉中间的空格,h ttp之间,5 8之间,20 6之间,2C A之间,in put之间,100 2007之间共六处空格,全部去掉):h ttp://5 8.251.57.20 6/down?cid=2C A4450B80FEEEFC915F6A9BDD6A556D4AF6E250&t=2&fmt=&usrin put=kagexpress&dt=100 2007这是迅雷、BT下载地址。

最后,本教程只是入门级的基础教程,如果您已经可以用KRKR实现基本的ADV制作,本教程对您的参考价值就很有限了……二、制作前的准备:1.下载并解压KRKR,放在除系统盘以外的盘里,如:"D:\KRKR"。

2.首先我们需要建立一个新的工程。

在你解压KRKR后生成的目录里,有个叫Wizard的可执行程序,双击它。

在出现的对话框里,选择下拉菜单中的800*600,新工程目录输入:course,你会发现在KRKR 目录里多了一个叫course的目录,这就是新的工程目录。

在确定后弹出一个设置对话框,什么都不用改先,确定就行。

3.用记事本方式打开 course\data\config.tjs文件,这里可以进行一些设置。

目前需要用到的是先把; System.title = "KCDDP KAGeXpress 3.0";改为你需要的标题。

这里不妨设为;System.title = "KRKR基础教学"。

4.下面,开始进行脚本编辑:在course\data\scenario目录下,有个叫first.ks的文件,可以用记事本打开,这里就是你输入代码的地方。

5.把自己的图片放在course\data\bgimage里,名字自定。

最好先准备5张背景图,一张全黑的,叫black;一张全白的,叫white;另外三张随便在哪弄来三张图片,可自己命名为bgi01、bgi02、bgi03。

注意:所有背景图片的分辨率最好都是800*600的,免得以后麻烦。

再准备两个人物立绘图,自己命名为c01、c02,也放在这个文件夹里。

6.把自己的音乐放在course\data\bgm里,名字自定。

最好音乐的格式是.wav和.midi的,加载插件后可支持.ogg和.mp3的格式。

本教程里就使用.wav的吧。

随便找两个.wav音乐放在这个文件里,命名为bgm01、bgm02。

需要注意的是:不论是背景图、人物立绘图或者是音乐,文件名都不要重复,有时候会造成运行中的错误。

然后,开始像4楼里说的,在first.ks里写脚本代码。

三、ADV的初期制作:1.用记事本打开course\data\scenario目录下的first.ks,可以看到以下几句KRKR脚本:*start欢迎来到Kirikiri/KAG的世界![l][r]2.先说一下RKRK的代码基本输入方式:[代码内容]或者@代码内容,两种写法结果是一样的。

比如[playbgm storage=bgm01]和@playbgm storage=bgm01是一样的效果。

3.注释符:;(分号)这个符号后的同一行字符将视为注释,不计入代码中。

比如你输入了一大串代码,在中间加入一行:[*。

X&#(^%9&*……];这是标题画面的代码,我作一下标记。

[*。

X(*#&%(^&……]那么中间那句话"这是标题画面的代码,我作一下标记。

"不会出现在游戏中。

4.标签符号:* 用于ADV流程的阶段性标识。

5.开始代码输入。

把first.ks中的文字全删除,先制作游戏标题画面,输入以下代码:[wait time=200][loadplugin module=wuvorbis.dll]*start[startanchor][cm][rclick enabled=false][clickskip enabled=false][history output=false enabled=false]*title[cm][nowait][stopbgm][playbgm storage="bgm01"][current layer=message0 page=fore withback=ture][layopt layer=message0 page=fore visible=true][position layer=message0 page=fore frame="" opacity=0][backlay][image storage="bgi01" layer=base page=back visible=true][trans method=crossfade time=600][wt][font color=0x000000 shadow=false][locate x=260 y=320][link target=*eps]开始游戏[endlink][r][locate x=260 y=360][link target=*titleload]继续游戏[endlink][r][locate x=260 y=400][link target=*titleexit]退出游戏[endlink][font size=default face=default color=default edge=false][endnowait][s]6.以下是代码的解释:[wait time=200]:进入标题画面前等待200毫秒。

KRKR里所有在time=之后的数字,都以毫秒为准,比如time=5000就是5000毫秒。

[loadplugin module=wuvorbis.dll]是载入wuvorbis.dll这个插件,以支持.ogg音频格式。

*start:strat标签,作为一个阶段的标记。

[startanchor]:确定在游戏中选择回到标题画面时的返回处。

[cm]:清除全部的文字层的内容。

[rclick enabled=false]:禁止鼠标右键的点击。

[clickskip enabled=false]:禁止通过点击跳过。

[history output=false enabled=false]:关闭历史记录的输出及查看。

[nowait]:文字瞬间出现。

[stopbgm]:停止播放背景音乐。

在这个代码之前并没有播放背景乐,这个代码目的,是停止在游戏中间退回标题时还在播放的背景乐。

[playbgm storage="bgm01"]:播放背景音乐bgm01。

[current layer=message0 page=fore withback=ture]:指定可操作文字层。

(后面有介绍各个命令的具体值)[layopt layer=message0 page=fore visible=true]:更改层属性。

[position layer=message0 page=fore frame="" opacity=0]:更改文字层的属性。

[backlay]:图层由表向里复制。

[image storage="bgi01" layer=base page=back]:预载背景画面。

其中"bgi01"就是bgimage文件夹下的bgi01文件,由于Initialize.tjs中设定了系统自动检索这个目录,所以不需要写出完整路径。

[trans method=crossfade time=600]:淡入的场景转换,转换时间600毫秒。

[wt]:等待转换结束。

[font color=0x000000 shadow=false]:修改字体。

[locate x=280 y=320]:设定文字或按钮出现的坐标。

[link target=*eps]Start[endlink][r]:设定链接的文字及所跳转的标签,[r]表示在末尾换行。

[endnowait]:结束文字瞬间出现。

[s]:此段内容结束。

7.以下是各参数的说明:current:指定操作文字层。

参数:layer:值为message0或message1,指定1个为操作文字层。

page:值为fore或back,设定为表或者里。

withback:值为true或false,表page为对象的场合,对里page进行同样文字描画的设定。

layopt:层属性。

参数:layer:值为0以上整数message0或message1,指定前景层或文字层。

page:值为fore或back,设定为表或者里。

visible:值为ture或false,该层是否显示。

left:值为整数,表示层的左端距左框边的距离。

top:值为整数,表示层的顶端距顶框边的距离。

opacity:值为0(完全透明)~255(不透明)的整数,指定层的透明度。

position:文字层属性。

参数:layer:值为message或message0或message1。

page:值为fore或back,设定为表或者里。

left:值为整数,表示层的左端位置。

top:值为整数,表示层的顶端位置。

opacity:值为0(完全透明)~255(不透明)的整数,指定层的透明度。

width:值为整数,层的宽度。

height:值为整数,层的高度。

frame:文件名,如果使用自己设计的框架的话,则需要指定。

不使用自己设计的文字框架的话,只要在脚本里写frame=""即可。

相关主题