forum

[2011/12/17更新 ver.1.06] 给正在做和想学做STORYBOARD的玩友推荐一个工具

posted
Total Posts
31
Topic Starter
wule
history
2011/11/27 ver 1.00
2011/12/17 ver 1.06

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
分割
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

可以帮助现役SBER更快的完成手写STORYBOARD代码,也能帮助那些不知道怎么用代码写STORYBOARD的玩友比较直观的理解那些代码的作用和效果 :D


主界面:
(这个帖子里面放得下载是中文版的,英文版的只需要去掉文件包里面的ini文件就可以了)



(以下内容来自README)

简介
osbcHelper的全称是 .osb code helper, 最初的目的仅仅是为了osb代码的提示, 后来逐渐添加了许多许多功能 ,到现在,已经算比较完善了吧. 有建议可以发到我的email: 1030727@qq.com

osbcHelper现有的主要功能: 编辑osb文件, osb的代码UI, 时间计算, 批量修改参数, 自动填充, 脚本生成代码, 便签等功能.
在此后的章节里会一一的讲解基本用法和示例.

此程序包含有以下文件:
osbcHelper.exe - 主程序
osbch.ini - 语言配置文档(修改此文档的内容可以修改显示语言,删除此文档则显示为英文版)
lua51.dll - Lua语言的运行环境
LuaInterface.dll - Lua语言的.net运行环境
osbch.lua - 为此程序编写的基本lua语句

操作功能
在文件菜单有操作文件的选项, 分别是打开(CTRL+O) 关闭(CTRL+W) 保存(CTRL+S) 另存为(CTRL+SHIFT+S)
打开文件后标题会包含文件名,保存时会自动保存到打开的文件.
要注意的是关闭文件并不会清空编辑区的内容,但是打开文件会将编辑区内容替代.

基本功能
图像/动作 选项卡下的内容是在SB里可以使用的动作,在面板上设置好属性之后,按下 >> 按钮,就会插入到编辑区内.

图像: 图像可以批量选择文件,在面板里可以看到图片的预览,双击预览图可以打开完整图片.
在右侧的文件列表里, 单击可以改变选择, 按下DEL键可以删除选择的文件, 按下ESC键会清空所有文件

动作:
时间: 时间的格式有2种, 00:00:000 的"分钟:秒:毫秒"的格式和纯数字的格式(毫秒单位)
缓冲: 也就是 easing, 可以设置一个动作在执行时间内先快后慢,或者先慢后快
循环/触发动作: 如果一条动作是循环动作的子动作,则需要勾选此选项(普通动作只有一条下划线,而子动作为两条)

时间计算器:
时间格式同动作中的. bpm*拍数也很简单.于是就不多说了.
计算时间依然是按下 >> 按钮

自动填充:
自动填充的功能一开始是为了批量改变参数用的, 后来.. 在使用中觉得实在是太不方便了,于是就做了新的功能.
使用方法: 按下 +新ID... ,会打开ID属性对话框.
基值: 基础值, 也就是第一个值
递增: 每次循环后, 都会加上此值,
倍乘: 每次循环后, 都会乘以此值,
倍加: 每次循环后, 都会加(循环次数x此值)
小数位数: 最终显示的位数
标识符: 标识符用来区分不同的填充数据. 含有标识符的部分会在循环中被替换为数值
点击确定后会新增一个标识符条目, 双击条目可以修改属性.
选择标识符,点击插入标识符, 可以将标识符插入到要替代文本的地方.
例子:
标识符:level 基值:1 ,其他默认,点击确定后会出现 [level]=0,1.0000,1.0000,1.0000,0.0000
在左边文本框内输入 "风暴之锤 等级 " 然后点击 插入标识符ID,
现在会变成 "风暴之锤 等级 $level$" , 修改次数为3次,
按下>>按钮, 编辑区就会插入下面文本
风暴之锤 等级 1
风暴之锤 等级 2
风暴之锤 等级 3
标识符可以指定多个, 同一个标识符可以使用多次.

批处理:
批处理功能使用了正则表达式,有基础的同学也可以自己指定,
程序打开时正则表达式默认为包含全部动作, 仔细观察的话可以看到 ....(M|F|S|R|V|C|MX|MY|L|T|P)....这样的部分,嗯,没有错, 如果想只改变 移动M的参数的话, 可以把其他的都删除掉,括号里只留下M.
修改后的正则表达式可以按Reset按钮来恢复默认.
匹配组号的意思是, 第n个逗号前的参数. 例如: _M,0,60000,72000,320,240,320,240 如果要选择修改"开始x坐标"的话, 那么就把匹配组号改成5
可以执行的操作是基本的加减乘除和取余

便签功能:
点击"+ 新便签" 可以创建一个便签选项卡,双击便签选项卡则删除,便签的第一行会自动被设置为标题

OSBC脚本
OSBC脚本生成代码功能使用lua脚本语言制作. 将程序最上端的"输出SB代码"取消选择, 就会开启脚本功能.

开启脚本功能后, 图像/动作 里的所有输出内容将转变为输出适合lua语言的代码

基本注意事项:
需要注意的是名字是必需的, 即使每次都使用同样的名字.
osbch.lua里是我写好的运行库,如果有能力的话也可以自己改动(因为并不是很自动w)
在程序的帮助里有常用函数的列表
因为是lua脚本语言, 所以你可以使用所有lua允许使用的功能,比如变量/自定义函数等等等等.
这里只举一个很小的例子, 如果需要更多有关lua的说明我推荐<<Programming in lua>>一书,原版为英文版, 现在也有完美的中文翻译版.

例子: 3分钟内每隔 5秒 在屏幕上随机位置显示一个持续3秒的旋转的樱花的图案(路径"SB\sakura.png"),

time=0 --初始时间毫秒单位
while time<180000 --180000毫秒, 也就是3分钟
do --循环开始
local x=math.random(100,540)
local y=math.random(100,380) --获得一个随机的坐标
local angle=math.random(0,360) --获得一个随机的角度, 这里是弧度制,所以需要转化为弧度
angle=math.rad(angle) --转化自身为弧度制
sakura=Sprite('Foreground','Centre','"SB\\sakura.png"',x,y)
sakura:R(0,time,time+3000,angle,angle+math.rad(360)) --从当前时间开始旋转,+3秒旋转180度, 不过分吧
sakura:F(0,time,time+1500,0.000,0.600)
sakura:F(0,time+1500,time+3000,0.600,0.000)
time=time+5000 --时间每次累加5000毫秒, 也就是5秒
end --循环结束

注意, "--"为注释符号, 注释符号后直到行末的部分是被忽略的
编辑完成后,点击"生成代码", 于是...生成好的代码就出现在弹出的窗口里了

篇幅太长不一一罗列了
若语法有错误会弹出错误说明对话框:
LuaInterface.LuaException: [xxxx "xxxx"]:错误所在行号: 错误发生原因
生成的代码长度最多为1M...

有问题和意见的可以联系作者 http://osu.ppy.sh/u/YUI,或者联系我代为转达 :o
其他相关的问题也可以在QQ群(15175731)里边问,作者在这个群里面,还有其他精通storyboard的人也会帮你,大家一起讨论进步 :)

osbch ver1.06下载:Download: osbch1.061.rar
Kotone
支持一下:O
eveless
mark
YuZuKi Kenny
前排
Gomo Psivarh
后排
AoiX
好!求添加三维坐标转二维坐标计算工具
wcx19911123

awesome
bubbled
sherrie__fay
内测人士表示yui真心很认真的做这个 每个bug都给了很好的修复XD
希望大家支持一下的同时 不要忘了我们这些手动SBer
sherrie__fay
哭了为什么没人顶 这是好东西啊 ;A;
paragon_old

sherrie__fay wrote:

哭了为什么没人顶 这是好东西啊 ;A;
我顶
Muscipular
膜拜技术帝
YuZuKi Kenny

sherrie__fay wrote:

哭了为什么没人顶 这是好东西啊 ;A;
幫頂
Nymph
不太会用哎T.T
spboxer3
當然頂!!!
Heatherfield
好厉害的样子
Breeze
手动党内牛满面
神器
Megurine Luka
哇。这不是吾等只会用PS不会SB的福音么

可惜我发现的太晚了;_;
Gundam
yui酱的软件呢lol 果断顶~
DarkRingSystem
我靠 这个好啊 !!!!!
Scorpiour
这个一定要顶起来!
show more
Please sign in to reply.

New reply