KRKR基础篇(二)

摘要:
因而,淡入、淡出等图像效果几乎是每一个ADV游戏必然会使用的。KAGeXpress的背景切换等效果,也被设计为可以调用渐变效果。KAG包含了多种的渐变方式。所有调用的渐变的指令都需要通过time属性指定时间,对于KAGeXpress的图像指令,未指定时间的渐变视作要求新的图像直接出现。此外,这种类型的渐变可以设定渐变区域属性,指定过渡区域的大小。对于KAGeXpress,默认的vague值为64。此外,实际上scroll渐变的类型还包括三种,由参数stay控制。这是stay=stayback的场合这是stay=nostay的场合。

这里介绍一些krkr的语法规范,具体的命令含义及用法以后再叙述

一:kag语法及基本概念

KAG使用的剧本语言为KAG Script,文件扩展名为.ks

脚本内的文字除 注释, 命令 , 段落标签, 等内容外,一律被当作 剧本文字 进行显示处理。

每个标签都可能有若干属性,也可能没有属性,属性用于精确控制指令的行为。

1:标记命令

命令的格式为:

[命令名    属性1 = 值1     属性2  =  值2]

例如:

[bg file=图片1] 这里设置了一张背景图片 [r][I]

2:行命令

行命令一般单独占一行,用于较长的指令

命令的格式为:

@命令名   属性1 = 值1   属性2 = 值2...

这种语法格式要求一条指令 单独 占一行。

例如:

@bg file=图1
    这里也设置了一张背景图片[r][I]

与标记命令的执行结果是一样的

3:段落标签

段落标签单独占一行,代表一个段落/章节的开始。

分支选项 剧本跳跃 进度的存取都以段落标签为标志,剧本跳跃时,就只能跳跃到指定的段落标签开始。(学过html的小伙伴可能会比较熟悉这个,与利用a标签id属性实现跳转类似)

命令的格式为:

1 *标签名|显示名

标签名 是标签的内部名称,建议使用 简单但不重复的 英文数字组合。

显示名 是显示在存档界面等地方的名称,可以使用 较复杂 的中文名。

例如:

*ch01|第一章
    这是第一章。[I][r]

4:注释

以 ; 符号开始,从分号到该行结尾的所有内容将被忽略

注释主要用于写入开发者的备忘。代码说明等内容。

例如:

1 *ch01|第一章
2 这是第一章。[I][r]   ; 这是注释1
3 ;这是注释2

开发过程中的所有代码都要严格按照这些规范来进行。

二:关于渐变的类型、参数和使用

渐变效果是ADV制作中最经常用到的效果。ADV游戏经常包含图像的切换。如果毫无过渡的更换图像,效果一般会显得非常糟糕。因而,淡入、淡出等图像效果几乎是每一个ADV游戏必然会使用的。加入这些效果,可以使得图像的切换更加平滑,让游戏感觉更加精细。

KAG中,淡入、淡出这些在一定的时间内改变图像的功能都使用统一的渐变效果来实现。KAGeXpress的背景切换等效果,也被设计为可以调用渐变效果。使用的渐变效果的类型在KAGeXpress中都可以由method属性指定。

KAG包含了多种的渐变方式。吉里吉里内核自嵌了3种类型的渐变,此外通过外部插件,还可以增加新的渐变效果。

所有调用的渐变的指令都需要通过time属性指定时间,对于KAGeXpress的图像指令,未指定时间的渐变视作要求新的图像直接出现。

以下的图例中,A为渐变前的图像(下面称作原图像),B为用来取代原图像的目标图像(下面称作新图像)。

1:crossfade

最简单、最常用的渐变类型。要渐变的部分渐渐从原图像变为新图像

无特别的属性需要指定。

2:universal

一种独特的渐变类型。可以按照使用者的要求,按照任意顺序与方式渐变整个区域。

使用时,必须提供一个规则文件,指定渐变的规则。该文件必须是灰阶的图像。

请看以下的样图。

KRKR基础篇(二)第1张

系统将按照这个规则文件的灰度,从对应规则文件黑色的部分渐渐渐变到对应白色部分。

对于上述的规则文件,系统将从上到下(对应规则文件中从黑到白)将屏幕上的A渐变为B。

此外,这种类型的渐变可以设定渐变区域属性(vague属性),指定过渡区域(也就是转换中,同时显示出原图像和新图像的区域)的大小。

KRKR基础篇(二)第2张 渐变效果不明显

这是vague=1的场合。
KRKR基础篇(二)第3张 有渐变重叠效果出现
这是vague=64的场合。
value值越大,渐变效果越明显,渐变区域越大

指定不同vague值产生的差别可以参看上图。

对于KAGeXpress,默认的vague值为64。

下面是universal渐变属性详细列表:

universal渐变的使用的属性列表
属性名称是否必须说明
rule

指定决定通用渐变的轨迹的,规则文件的名称。

该文件必须是灰度图像数据。

系统将从该图像中黑色部分所对应的原图部分开始渐变,渐渐按照顺序开始处理图像中白色的部分。

vague决定过渡区域,也就是同时进行转换的区域的大小。

3:scroll

scroll类型的渐变,如同其字面意思一样,就是让新图像从外面移动进入原图像的区域。

新的图像可以任意选择从上、下、左、右四个方向中的任意一个进入,这个效果可以通过from属性指定。

本节讲解scroll时使用的样图,进入方向都为下,也就是从下方进入屏幕。

此外,实际上scroll渐变的类型还包括三种,由参数stay控制。

KRKR基础篇(二)第4张

这是stay=stayfore的场合。

KRKR基础篇(二)第5张

这是stay=stayback的场合

KRKR基础篇(二)第6张

这是stay=nostay的场合。

三种不同的效果如上图所示。

首先,stay=stayfore时,原图像将原地不动,而新图像从外向里移动。当进入方向是从下方进入时,看起来是如同下图这样的。

stay=stayback时,原图像将从进入方向的反方向被抽走,而露出没有移动的新图像。

stay=nostay时,原图像和新图像将同时向同一方向移动,直到新图像取代旧图像。

下面是scroll渐变属性详细列表:

scroll渐变的使用的属性列表
属性名称是否必须说明
stay

stay=nostay时,原图像和新图像将按相同速度向同一方向移动,直到新图像代替旧图像。

stay=stayfore时,原图像将不会移动,新图像会自外移动进来并覆盖元图像。

stay=stayback时,新图像将不会移动,原图像会被抽走,然后露出新图像。

from指定为left、right、top、bottom,分别可以让新图像从左、右、上、下方向卷入屏幕。

免责声明:文章转载自《KRKR基础篇(二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇微信小程序-wxml模板页面逻辑运算R实战之热点图(HeatMap)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ES分页

本篇文章将会讲解ES两种分页查询方法以及优缺点 注意:以下文章中的命令和java代码均基于ES5.3.0版本 一、from/size分页 官网文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/5.3/search-request-from-size.html 查询的时候带上from和s...

DIV Scroll属性

DIV Scroll属性详解,为DIV层打造不同的滚动条。 一、scrollbar属性、样式详解1.overflow内容溢出时的设置(设定被设定对象是否显示滚动条) overflow-x水平方向内容溢出时的设置 overflow-y垂直方向内容溢出时的设置 以上三个属性设置的值为visible(默认值)、scroll(出现滚动条)、hidden(隐藏)、a...

【Android】Anroid5.0+新控件---酷炫标题栏的简单学习

Android5.0+推出的新控件感觉特别酷,最近想模仿大神做个看图App出来,所以先把这些新控件用熟悉了。新控件的介绍、使用等等网上相应的文章已经特别多了,题主也没那能力去写篇详解出来,本篇随笔记录的主要是题主学习这些新控件时遇见的一些困惑以及在搞了半天后的一丝理解,或许也有新手也会碰到跟我一样的困惑,相互学习哈,如果有哪个地方理解错了,还望告知。 效...

ES之八:ES数据库重建索引——Reindex(数据迁移)

应用背景: 1、当你的数据量过大,而你的索引最初创建的分片数量不足,导致数据入库较慢的情况,此时需要扩大分片的数量,此时可以尝试使用Reindex。 2、当数据的mapping需要修改,但是大量的数据已经导入到索引中了,重新导入数据到新的索引太耗时;但是在ES中,一个字段的mapping在定义并且导入数据之后是不能再修改的, 所以这种情况下也可以考虑尝试使...

VS2010主题设置及插件推荐

本文主要写了个人使用 VS2010 的一些配置及实用插件,从而打造一个符合个人风格的开发环境。 基础设置 安装 Visual Assist X 在 VS2010 中若不安装 Visual Assist X 这个插件,直接开发 C++ 相关的项目将是非常痛苦的事情。默认环境没有对代码的不同部分进行颜色高亮显示,也没有任何的智能提示,在这种情况下想要准确写出...

scroll事件总结

一般监听窗口的滚动事件都是给window,document,body绑定滚动事件。但是需要注意以下几点: (1)给body绑定scroll事件时,this指向window (2)不管给谁绑定,要获取scrollTop值都是通过document.body来获取。即document.body.scrollTop.window和document是没有scroll...