源代码及所需图片已附上,下面是说明:(图片借用了D大的右键菜单范例中的滚动条按钮,懒得做了抱歉。。。)
下面是一个save界面的例子,我直接在first.ks里测试的,所以直接用了message0~10,也没添加作为右键菜单中存在的必要语句,仅仅是一个界面。要使用还要改改。窗口大小800X600,一共用到6个图,base.jpg是滚动条的图片24X500;down.png作为滚动条下方的按钮,形如倒三角的那个,24X24;up.png作为滚动条上方的按钮,形如正三角的那个,24X24;menu.png是存档界面背景800X600;nodata.jpg如其名133X99;normal.png作为滚动条的按钮23X23。如果不改变下面代码的位置设定,最好用相同大小的图片试验。
别忘了设置Config.tjs:默认的文字层数11个以上,存档保留缩略图,默认存档数50+(这段代码是46个档位)……
因为直接写在一起代码风格不是很好,实用时最好把tjs函数单独写到一个文件里。
写ks文件前先从system里面找到MessageLayer.tjs,从第284行左右开始的LinkSliderLayer类需要做些改动:
class LinkSliderLayer extends SliderLayerPatch
/*原来是继承SliderLayer,为了使效果更好改为SliderLayerPatch ,当然你的krkr版本不能太老不然没这个*/
这个类里的onChange,commit函数分别改成:
function commit()
{
kag.inputTemp = position;
Scripts.eval(("(" + exp + ") = (int)kag.inputTemp")); //转换为整型
}
function onChange(position, dragging)
{
if (change !== void) {
kag.inputTemp = position;
Scripts.eval(("(" + change + ") = (int)kag.inputTemp")); //转换为整型
if (changese !== void && !dragging) {
Scripts.eval(changese);
}
kag.process("first.ks","*redraw2"); //跳转
}
}
上面两个改动都是针对LinkSliderLayer类的,其他地方不用动。
然后主要代码我是直接写在了first.ks开头测试,实用时需改动:
============================================================
*start
[eval exp="tf.x = [100,400,100,400,100,400,100,400]" cond="tf.x === void"]
[eval exp="tf.y = [50,50,190,190,330,330,470,470]" cond="tf.y === void"]
[eval exp="sf.now_page = 0" cond="sf.now_page === void"]
[iscript]
function pageup()
{
if((int)sf.now_page>0) (int)sf.now_page--;
kag.process("first.ks","*redraw1");
}
function pagedown()
{
if((int)sf.now_page<19) (int)sf.now_page++;
kag.process("first.ks","*redraw1");
}
[endscript]
[delay speed=nowait]
*redraw0
[position layer=message9 left="600" top="0" width="200" height="600" opacity=0 visible=true vertical=true]
[current layer=message9 page=fore]
[locate x="0" y="26"]
[button normal="up.png" exp="pageup()"]
[locate x="0" y="550"]
[button normal="down.png" exp="pagedown()"]
*redraw1
[position layer=message10 left="600" top="0" width="200" height="600" opacity=0 visible=true vertical=true]
[current layer=message10 page=fore]
[locate x="30" y="50"]
[slider value="sf.now_page" min=0 max=19 base="base.jpg" normal="normal.png"]
*redraw2
[position layer=message0 page=fore left=0 top=0 width="&kag.scWidth" height="&kag.scHeight" frame="" color=0x000000 opacity=0 marginl=0 margint=0 marginr=0 marginb=0 draggable=false visible=true]
[current layer=message0 page=fore]
[image storage="menu.png" layer=base page=fore]
[er]
[eval exp="tf.i=0"]
*loop
[position layer="&'message'+(tf.i+1)" page=fore left="&tf.x[tf.i]" top="&(tf.y[tf.i]-40)" width="133" height="40" opacity=0 marginl=0 margint=0 marginr=0 marginb=0 draggable=false visible=true]
[current layer="&'message'+(tf.i+1)" page=fore]
[ch text="&((int)sf.now_page*2+tf.i+1)"]
[if exp="kag.bookMarkDates[(int)sf.now_page*2+tf.i] != void"]
[pimage storage="&kag.getBookMarkFileNameAtNum((int)sf.now_page*2+tf.i)" layer=base page=fore dx="&tf.x[tf.i]" dy="&tf.y[tf.i]" sw="133" sh="99"]
[endif]
[if exp="kag.bookMarkDates[(int)sf.now_page*2+tf.i] == void"]
[current layer=message0 page=fore]
[locate x="&tf.x[tf.i]" y="&tf.y[tf.i]"]
[button normal="nodata.jpg" target=*save_click exp="&'tf.index='+tf.i"]
[endif]
[jump target=*loop cond="++tf.i < 8"]
[s]
*save_click
[save place="&((int)sf.now_page*2+tf.index)" ask=true]
[jump target=*redraw0]
=====================================================
load和这差不多就不说了,需要改动的基本就是*loop之后的东西。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
krkr实现滚动存档界面示例 (134个子文件)
PageBreak.asd 1KB
LineBreak.asd 1KB
MessageLayer.tjs.bak 184KB
DialogLayer.tjs.bak 41KB
first.ks.bak 4KB
krflash.dll 442KB
extrans.dll 232KB
krmovie.dll 220KB
wuvorbis.dll 196KB
extNagano.dll 100KB
layerExImage.dll 96KB
wutcwf.dll 57KB
wumsadp.dll 57KB
krkr.exe 1.15MB
nodata.jpg 15KB
base.jpg 11KB
ExHistoryLayer.ks 26KB
func.ks 18KB
fog.ks 11KB
rain.ks 11KB
snow.ks 11KB
staffroll.ks 10KB
first.ks 4KB
HistoryLayerCustom.ks 2KB
textset.ks 803B
autolabel.ks 84B
23.png 285KB
35.png 232KB
6.png 231KB
20.png 180KB
22.png 152KB
5.png 147KB
21.png 118KB
37.png 79KB
36.png 79KB
fog_0.png 53KB
fog_1.png 49KB
fog_3.png 48KB
fog_2.png 48KB
2.png 34KB
32.png 32KB
33.png 31KB
24.png 26KB
16.png 14KB
38.png 12KB
17.png 11KB
25.png 10KB
4.png 8KB
3.png 8KB
26.png 7KB
13.png 6KB
34.png 6KB
29.png 6KB
28.png 6KB
12.png 6KB
11.png 6KB
27.png 6KB
menu.png 5KB
9.png 5KB
8.png 5KB
15.png 2KB
19.png 2KB
30.png 2KB
14.png 2KB
31.png 2KB
LineBreak_a.png 2KB
rain_0_2.png 2KB
rain_0_1.png 2KB
PageBreak_a.png 2KB
rain_0_0.png 1KB
7.png 757B
down.png 585B
up.png 540B
rain_0_3.png 513B
normal.png 404B
18.png 286B
snow_4.png 281B
snow_3.png 239B
1.png 228B
snow_2.png 199B
snow_1.png 158B
check.png 144B
snow_0.png 124B
10.png 119B
PageBreak.png 81B
LineBreak.png 81B
MainWindow.tjs 378KB
MessageLayer.tjs 184KB
MessageLayerOverride.tjs 182KB
ActionLayerOverride.tjs 63KB
AnimationLayer.tjs 50KB
HistoryLayer.tjs 46KB
ActionLayer.tjs 45KB
DialogLayer.tjs 41KB
AnimationLayerOverride.tjs 38KB
AffineLayerOverride.tjs 38KB
AffineLayer.tjs 37KB
GraphicLayer.tjs 34KB
Config.tjs 29KB
Utils_graphics.tjs 28KB
共 134 条
- 1
- 2
资源评论
- superbob20092011-10-21实际应用的时候还需要再调整,主要是定义的pageup/pagedown如果打包成类就好了
- hkjwyyx2012-08-22受教了 不过还是有很多问题没有解决
- elyon0122013-06-23感觉没有完全实现滚动子区域的问题,是对整页滚动的模拟,不过还是有一些参考价值
- cwk442012-11-04可以使用 虽然不是很完美
yswz823
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功