暗影凌萌

写点krkr有关的东西

krkr打包成多个xp3文件包教程

怎么开头好呢……总之就是教你怎么把krkr的文件打包成多个xp3包而不是单纯的一个data包的(我去年在这块上吃了瘪,每次修改都痛苦得要命)但是,如果说是分成多个包去封包的话,这样修改完再打包的话,打包时间就会大大减少,于是,就直接看代码吧

直接找到Initialize.tjs这个初始化文件,直接看到这里



这里相比于原来,加了两行代码

一个是

Storages.addAutoPath("newPackage/");//添加自动搜索路径

还有一个是

useArchiveIfExists("newPackage.xp3");//添加新文件包

首先的话,Storages这个添加新的自动搜索路径这个不用说了吧,就是在你data文件夹里新建一个名叫newPackage的文件夹,然后往里面放东西就是了,这个主要就是方便你开发阶段的时候没打包的时候用的,当你开发完成了以后,你就把data文件夹里面的newPackage文件夹挪出来,然后直接把这个newPackage文件夹打包成一个xp3,然后放到和krkr主程序同一个目录下就可以了,再把krkr主程序设定成从xp3文件包执行,然后就OK了,这主要是useArchiveIfExists()这个函数在起作用,看到这个函数(也在Initialize.tjs中)


这里先判断了exe主程序下是否存在某个xp3文件,如果存在,就把这个xp3文件的路径的字符串赋值给arcname这个变量,然后在增加自动搜索路径,后面加个>就是增加文件包内部的路径的意思,嘛,反正这里看不懂你可以不看啦,反正总结起来就是上面两句代码而已

同理,你可以通过多次使用这两端代码去新增很多很多的文件包,这样就能达到把文件包成很多文件包的目的了,不过,其实这里面都已经事先给你添加了很多文件包的路径啦,什么立绘啦,背景啦,声音啦都有,这些自己看着办就好了

艾玛,有点短,加点东西吧,关于patch.xp3这个补丁包的原理

看到Initialize.tjs里的这段


这里就事先先添加了patch.xp3这个文件包啦,这也是为什么后面的补丁都能通过这个xp3文件去发布的原因,而且这个补丁包xp3文件的加载在其他文件包的后面,所以这也是为什么当出现同名文件的时候,会事先使用patch中的缘故,因为原来的被后来的这个覆盖了,再来的代码就是依次自动添加补丁包文件,这个就是后面再出补丁的时候,可以用patch2.xp3,patch3.xp3来依次发布的原因,这就是个循环嘛,从2开始都知道什么原因啦,因为上面那个patch.xp3已经先添加了嘛,后面就从2开始咯,就这样依次添加,直到找不到某个补丁包文件为止,就直接break了


好了,这次的教程就到此为止了,下次也不知道是什么或者什么时候出也不知道啦,总之就随缘吧,看看哪天一时兴起会研究研究啥什么的

评论