从零开始的吉里吉里ADV系统搭建☆ミ
制作者@芋魔人X
- 选择后的确认界面
- 侧边栏插件试做(兼插件制作入门
- 章节选择画面试做
- SE
- BGM
- 穏やか , お洒落 , サイバー , 四拍子 , 民族系
- 物語 始まり
- 煉獄庭園
- 右键返回
- 暗黑宫篇和上锁条目(???)的设计
- 暗黑宫篇标题图草稿
- 上锁条目用图:用现存迷宫图凑合一下
- FIXME: 把cleanup做成macro,onEnter的时候也要call一下(对应键盘
- 迷宫探索画面试做
- 对话界面试做
- 收集对话界面资料
- 地图选择界面
- FIXME: testScene先隐藏对话框再开save界面会出现return多了的情况
- 鼠标点击小动画(click glphy
- 试用其他(开源)字体
- SL画面(荒星版)
- Config画面
- debug menu加自动生成的截图?
- merge dialog_xxx
- 合并为@dialog
- 自动生成debug用列表mainmenu.ks
- Common.tjs和TJSFunctions.tjs合体
- libreoffic calc用的sheet->ks脚本用macro
- 修复/重写title画面(移动button)
- title设计可能会变,等确定设计再说
- 章节顺序调整
- 不如直接每个文件一小章&每个文件夹一大章,然后用脚本批处理插入
- 好像没啥必要?
- photoshop演出支援插件
- exmove2(blur版)导入
- layerType = ltAlpha能治好message frame半透明时的显示问题吗?
其实最需要的是直接将所有图层摆放到位的插件?
input: current file + dest name
output: dest.ks + png files(layers)
@image page=fore layer=0 visible=true storage=...
@image page=fore layer=1 ...
include问题恐怕没法解决 只能写个UI 搞个下拉菜单选trans/.asset/move 再搞个checkbox选择是否对全部图层实行
其实还有一种笨办法是每层分别记录上一帧状态(position&style) 有变化就是keyframe 两个keyframe之间的时间差就是move/trans的time参数
assumption:同一时间只有move和trans二者之一可以发生 比较方式是生成kag脚本并比较字符串 每个图层应该有单独的timer style和position共用
↑然鹅这种算法布星 加入t1和t2分别是两个keyframe,那么t1和t2之间每一帧都是跟之前不一样的 按上面的算法会变成一串关键帧
分三个action 分别是kag_move, kag_image, kag_trans 分别call三个不同的js 使用方法是一边手动走timeline一边在关键帧运行这些动作
tjs2.info的exmove有一个问题 扩大缩小/旋转就会重新计算中心点坐标 但是单纯移动的时候坐标清空变成(0,0)
太难了做不了,改成手动式的 先选好图层,然后按→一格一格走,走到关键帧就发动script,生成的kag直接送desktop/timeline.ks里 blending option无法读取,所以只能填号move的部分,trans还是要手写
另外旋转角度也无法自动获取 不过就算这样还是比纯手写方便很多......大概。
分成@image和@move两类 图层名是文件名 layer=N通过index自动找
从photoshop timline导出KAG演出script到剪切板 默认使用了exmove
Workflow
- 从fg/bg/image拖素材到ps,在ps里调好动作
- 运行插件,得到一段kag
- 粘回.ks文件
显示
- LinearMover和SplineMover暂停: 加一个isPaused,handler里检测这个=true就不动
- evmove里如法炮制
- ↑这样虽然能停下来,但再开的时候会一口气移动到没暂停时该移到的位置
- 需要改计算时间的方法....(抱头
@fg_in name=chara1 normal left
@chara1 smile
台词台词台词[p]
@chara1 sad
chara tag retrieve load info
mp.tagname
> 查layer1和layer2的name
> 根据结果将layer设成1/2(不要动别的)
图层结构
message0
layer3 message window
layer2 right
layer1 left
layer0 背景
目前已确定exmove如果没有eximage会有存档问题(部分属性读档的时候无法复原) (顺便zoom.ks也有这问题) 为了直接写@image,把eximage2直接并入系统
方案1 插件保持 在windows里new一个插件实体
方案2 插件大部分code拷入window onStore和onRestore拷入layer.store/restore
; 目前能实现的
@fg_in left storage=chara1
@fg_in right storage=chara2
; 理想
; chara1 chara2是文件名
@fg_in chara1 left
@fg_in chara2 right
; 折中的改进
@fg_in left=chara1
@fg_in right=chara2
fg motion
@fg_action left method=...
- 脚本简短
- 功能满足需求
@move