查看“︁story”︁的源代码
←
story
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:*、
用户
您可以查看和复制此页面的源代码。
==总论== 在apk包中,所有关于剧情的部分都在\assets\app-data\story中,包含多个文件。不同的文件(夹)包含不同的作用。 其中paths决定story界面图像排布,entries记录剧情关卡信息,vn记录剧情文字/情景剧信息 ==文件夹/文件分析== 在main和side文件夹下可以看见entries文件,vn文件和一个csb格式文件. ===csb格式文件=== *csb格式为cocos2dx的UI布局文件,定义了对应分支的界面布局,比较难以编辑(参考:[FlatBuffer https://google.github.io/flatbuffers/]) ===entries文件=== entries文件为每个剧情的信息,包含解锁条件、需求曲包、前置分支关系等 格式 {| class="wikitable" |- | <nowiki>{"entries": [{故事信息1},{故事信息2},……,{故事信息n}]}</nowiki> |} 例子 { "entries": [{ "minor": 1, "requiredPack": "core", "storyType": "nvl", "clearSongId": "lumia", "clearCharaId": 0 }, { "minor": 2, "requiredPack": "core", "requiredMinor": 1, "storyType": "nvl", "clearSongId": "memoryfactory", "clearCharaId": 0 }, { "minor": 3, "requiredPack": "core", "requiredMinor": 2, "storyType": "nvl", "clearSongId": "pragmatism", "clearCharaId": 0 }, ... ] } 归纳 { "entries": [{ "minor": MinorID, "requiredPack": "requiredPackID", "requiredMinor": requiredMinorID, "storyType": "type", "clearSongId": "clearSongID", "alternateSuffix": "alternateChar", "requirementAnomalyId": "requirementAnomalyID", "clearCharaId": clearCharaId }, ] } *MinorID(integer):子剧情的ID,引用的基础。 *requiredPackID(ansistring):该剧情所要求的曲包,请移步[[packlist]]。 *requiredMinorID(integer):解锁此子剧情所需通过的前置子剧情ID **如果子剧情需要多个前置子剧情,则代码如下 "additionalRequires": ["requiredentriesID-requiredMinorID", "requiredentriesID-requiredMinorID",……] :*requiredentriesID(integer):对应requiredMinorID所隶属的entries. *type(nvl,vn):本剧情的展现模式,如果为nvl则为普通文本剧情;如果为vn则为视觉小说模式。 …… "storyType": "vn", "storyData": "vnChar", …… :*vnChar(ansistring):当本剧情为vn时所调用的情景剧文件夹(\assets\app-data\story\vn)/资源(\assets\app-data\story\vn\res)的名称。 *clearSongID(ansistring):需要通过的曲目ID *alternateChar(ansistring):如果剧情后面的编号不是MinorID时所采用的字符串。 *requirementAnomalyID(ansistring):需要[[解歌系统#特殊解歌系统|迷之解锁]]的曲目ID *clearCharaId(integer):解锁时需要采用的[[搭档]],ID编号参见[[packlist]] ===vn文件(story文件夹下)=== 格式 {| class="wikitable" |- | <nowiki>{"requiredentriesID-requiredMinorID": {对应故事1},"requiredentriesID-requiredMinorID": {对应故事2},……}</nowiki> |} 例子 { "3-1": { "en": "It’s early evening. Outside, ...”", "ja": "それは夕暮れ、黄昏のころ。\n野外にて、...", "ko": "이른 저녁이다. 바깥은 태양이 발하는 호박빛의 황혼이 쉼 없이 하늘을 물들이고 있지만,\n...\"", "zh-Hans": "夜色将至。屋外,太阳所溢出的琥珀色暮光马不停蹄地想要从天际溜走,...", "zh-Hant": "夜色將至。屋外,太陽所溢出的琥珀色暮光馬不停蹄地想要從天際溜走,..." }, "3-2": { ... }, ... } 归纳 { "requiredentriesID-requiredMinorID": { "en": "English story", "ja": "日本語の物語", "ko": "한국어 이야기", "zh-Hans": "简体中文的故事", "zh-Hant": "正體中文的故事" }, …… } 由于变量名已经在先前阐明,故不再赘述。但需要注明的是: *换行符是\n *文本内容的英文双引号为\",避免json转义 *分页符为| ==vn文件夹== vn文件夹下包含所有不同语言下对应视觉小说模式的剧情的脚本文件,以及res文件夹,对应所需资源。 ===res文件夹=== res文件夹下包含当前V-1视觉小说所有所需文件,以及一个zettai文件夹,对应3-3视觉小说所需文件。 ===vns文件=== vns为Arcaea中视觉小说模式的剧情的脚本文件,包含有以下指令 {| class="wikitable" |- |play <audio> <volume> <loop> |} *播放音频 *loop为循环至剧情结束(无法停止),可选 {| class="wikitable" |- |say <content> |} *显示剧情内容,每次say会清空屏幕已有剧情 {| class="wikitable" |- |show <pic> <posX>:<posY> <anchorX>:<anchorY> <scaleX>:<scaleY> <transition> normal |} *显示图片 *pos为图片锚点在图片上的位置,图片左下角为(0,0),右上角为(1,1) *anchor为图片锚点在屏幕上的位置,屏幕左下角为(0,0),右上角为(1,1) *scale为图片缩放比例,1为原始大小 **锚点为图片缩放过程中的原点 *transition为渐变效果 *结尾参数不明,现有vn全部为normal {| class="wikitable" |- |hide <pic> <transition> |} *隐藏图片 *transition为渐变效果,可选 {| class="wikitable" |- |move <pic> <dx>:<dy> <duration> <curve> |} *移动图片 *dx:dy为移动的距离,单位为像素 *duration为移动时长 *curve为移动过程使用的曲线 *transition:仅支持fade淡入淡出渐变,格式为fade(<duration>,<curve>) *curve:支持linear、sinein、sineout、sineinout,详见[https://easings.net easings 一览]
返回
story
。
导航菜单
个人工具
创建账号
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
设置
查看历史
更多
搜索
导了个航
这是首页
热门沙雕
最近沙雕
随机沙雕
最常更新
明日方舟资料页
Arcaea资料页
工具
所有页面
文件列表
页面信息
特殊页面