标题: [实验]Slider(滑动槽)的基本使用(拿自己做小白老鼠)
全局变量D
亲友
Rank: 2



UID 14
精华 1
积分 1262
帖子 719
阅读权限 50
注册 2006-12-20
 
发表于 2007-10-22 08:52  资料  短消息  加为好友 
[实验]Slider(滑动槽)的基本使用(拿自己做小白老鼠)

嗯…我啥都不说了,昨天快被磨死了.
首先先看看关于SLIDER(滑动槽)相关的TAG翻译:

◆slider (新增)

在消息层上设置滑动槽(slider bar)。

属性
        exp                commit 时执行的 TJS 式
        bgcolor                背景色
        opacity                背景透明度
        value                连动变数名。指定后的情况
                                (1)指定的变数的值,作为滑动槽的初期值
                                (2)滑动槽移动时,变数相应改变
        position         初期值
       ※onchange        (经实验似乎未实装)当滑动槽被拖动时执行的TJS式
       ※min          指定允许设定的最小值,默认为0
       ※max   指定允许设定的最大值,默认为100

        base                背景画像名。
                                指定了背景图片的情况下, width 和 height 用于设定背景图片的大小
        width                背景宽
        height                背景高
        tab                        滑动按钮图片(一起设定) normal / on / over 以此顺序排列(译注:类似普通按钮的graphic……吧?)
        normal                滑动按钮通常时的图片(分离)
        over                滑动按钮鼠标移动到按钮上时的图片(分离)
        on                滑动按钮点下鼠标时的图片(分离)

然后给个最基本的使用例子,例如游戏系统设定里的对话速度设定,蹦字的速度值介于0-100之间。
那么,先指定一个变量sf.文字速度(sf即是所谓全局变量)。然后使用以下的代码:

[slider value="sf.文字速度" base=bar width=246 height=31 normal=button]

这里base=bar是指定了滑动槽的图片(bar.png),而normal=button则是指定了拖动按钮的图片(button.png)。注意滑动槽的图片应该是和拖动按钮等高的(是否透明不影响,但是图片的高度应该设成一样。),否则拖动时会留下残影。

接着当玩家设定完要返回游戏的时候,使用:
[delay speed="&sf.文字速度"],就可以将文字速度变为玩家设定的值。
当然如果在你代入这行之前,玩家直接关闭游戏窗口,那sf.文字速度的值虽然变动了,但是游戏里的文字速度是不会变的。这个问题……本来可能是应该是可以用onChange来解决的……但是MS这个属性目前还没有用……所以……OTL算是BUG。(要么内可以试看看修改关闭游戏时候执行的TJS代码,在记录系统变量的时候顺手把这些设定给修改了。要么也可以试试value这里直接修改KRKR内建的文字速度变量)

然后看看磨死人的音量设定。其实知道了原理也差不多……只是value的值要修改一下而已。
[locate x=244 y=62]
[slider value="kag.bgm.currentBuffer.volume2" position="sf.音乐音量*1000" base=bar width=246 height=31 normal=button max=100000 min=0]
[locate x=244 y=106]
[slider value="kag.se[0].volume2" position="sf.音效音量*1000" base=bar width=246 height=31 normal=button max=100000 min=0]

kag.bgm.currentBuffer.volume2的值即是音乐音量的大小(最大值100000,所以要改max值),而另外一个自然就是音效的了。如果播放音效的时候使用的buf=1或者以上,那kag.se[0].volume2自然就要改成kag.se[1].volume2。具体kag.bgm.currentBuffer.volume2和kag.bgm.currentBuffer.volume有啥区别我没搞清楚过,懂日文的请自行查看:
http://hpcgi1.nifty.com/gutchie/ ... 7%A5%AA%B4%D8%CF%A2

至于这里用到的position。意味着"sf.音乐音量*1000"会作为滑动槽的初始值,并被代入kag.bgm.currentBuffer.volume2中。


为了保证这两个值同步,一般我们可以在适当的地方进行代入处理:
[eval exp="sf.音乐音量=kag.bgm.currentBuffer.volume2/1000"]
[eval exp="sf.音效音量=kag.se[0].volume2/1000"]
像这样。

然后在开始游戏时,再将游戏音量调节成sf.音乐音量记录的实际值.
PS:
虽然据说好像kag.bgm.currentBuffer.volume2是会被系统记录的,但是实际实验似乎并非如此...所以保险起见还是用了上面这个乱七八糟的办法...

=============================
最简单完美解决范例,利用了KAGEX提供的几个系统变量,
推荐参考以下帖:


http://kcddp.keyfc.net/bbs/viewthread.php?tid=505

[ 本帖最后由 全局变量D 于 2011-10-28 18:25 编辑 ]





顶部
keakon
会员
Rank: 1
TomoFansClub会长


UID 153
精华 0
积分 273
帖子 180
阅读权限 5
注册 2007-4-8
 
发表于 2007-10-22 08:56  资料  短消息  加为好友 
辛苦了~

刚想到一点,貌似控制台可以直接执行命令,下次用控制台改那些无法修改脚本的文字速度算了。。。





在我眼中,只要萌的都是loli。不管她有多老,是男的也好,是机器人也罢,就算没有实体,我也一定要萌上她!
智代after PS2汉化移植完毕
顶部
sarah707
亲友
Rank: 2


UID 15
精华 3
积分 825
帖子 366
阅读权限 50
注册 2006-12-20
 
发表于 2007-11-26 17:49  资料  短消息  加为好友 
我补充下……貌似[backlay]对sliderlayer没有效……定义的slider如果trans的话就会消失……所以……目前我是要在trans前在back层重新定义slider才能达到连续使用的效果…………






KX3游戏制作组
顶部
chris2002
会员
Rank: 1



UID 12
精华 0
积分 491
帖子 277
阅读权限 5
注册 2006-12-17
 
发表于 2007-11-28 10:39  资料  短消息  加为好友 
能發個圖片效果嗎  試驗不行...暈...

顶部
全局变量D
亲友
Rank: 2



UID 14
精华 1
积分 1262
帖子 719
阅读权限 50
注册 2006-12-20
 
发表于 2007-11-28 10:55  资料  短消息  加为好友 
我发的右键菜单范例里有...





顶部
 



清除 Cookies - 联系我们 - [Key Fans Club] the Council of Doujin-game Development and Promotion - Archiver - WAP
Powered by Discuz! 5.5.0 © 2001-2006 Comsenz Inc.
Processed in 0.023164 second(s), 9 queries , Gzip enabled
粤ICP备05060595号
[ 当前模板 - 天高云淡 v 设计制作 - 七星论坛 v 请使用1024*768或以上分辨率浏览本模板 ]
请勿删除或修改此处版权图示