【KRKR】同步图刷新插件图层版(黑底叠加)1.09
by: Tranpol
同步图片默认为黑底叠加效果
黑底图
同步刷新效果图
===
存取档没问题
trans转场也OK
图层是使用
sf.同步图1层=14;
sf.同步图2层=15;
(系统总图层请不要忘了改否则会void)
要改图层修改数字就可以了
如果要不同叠加效果
请用叠加属性
================
;同步刷新图1.09.20110217 BY:TRANPOL
@iscript
sf.同步图1层=14;
sf.同步图2层=15;
var timer1 = new Timer(onTimer1,"");
function pic()
{
timer1.enabled
= true;
timer1.interval = f.PIC速度;
if (f.PIC1层图数==void) f.PIC1层图数 =
1;
if (f.PIC双层==true) f.PIC2层图数 = 1;
f.PIC1层过渡透明度=255;
if
(f.PIC双层==true) f.PIC2层过渡透明度=255;
if (f.PIC过渡==true) f.PIC1层过渡透明度 = 0;
if
(f.PIC过渡2==true) f.PIC2层过渡透明度 = 0;
if (f.PIC双层==true)
f.PIC双层2层开始图数=f.PIC总图数\2;
f.PIC过渡结束图数=f.PIC总图数-25;
f.picone=void;
f.PIC无=void;
}
function
onTimer1()
{
if (f.pic == true)
{
if
(f.PIC过渡==true&&f.PIC无!=true)
{
if
(f.PIC1层图数<f.PIC过渡结束图数&&f.PIC1层过渡透明度!=255)
{
if
(f.PIC1层过渡透明度==0) f.PIC1层过渡透明度=15;
if
(f.PIC1层过渡透明度>0&&f.PIC1层过渡透明度<255) f.PIC1层过渡透明度+=10;
}
if
(f.PIC1层图数>=f.PIC过渡结束图数&&f.PIC1层过渡透明度!=0)
{
if
(f.PIC1层过渡透明度>15) f.PIC1层过渡透明度-=10;
if (f.PIC1层过渡透明度<=15)
f.PIC1层过渡透明度=0;
}
}
try
{
kag.fore.layers[f.PIC编号].loadImages(%['storage'=>f.PIC文件名+f.PIC1层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:f.PIC1层过渡透明度]);
kag.back.layers[f.PIC编号].loadImages(%['storage'=>f.PIC文件名+f.PIC1层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:f.PIC1层过渡透明度]);
}
catch
{
f.PIC无=true;
return true;
}
f.PIC1层图数 = f.PIC1层图数 + 1;
if (f.PIC1层图数 >
f.PIC总图数&&f.PIC无!=true)
{
f.PIC1层图数 = 1;
if
(f.PIC一次==true)
{
f.picone==void;
f.pic=void;
f.PIC结束=void;
f.PIC直接结束=void;
f.PIC文件名=void;
f.PIC1层图数=void;
f.PIC总图数=void;
f.PIC过渡=void;
f.PIC结束过渡=void;
f.PIC过渡2=void;
f.PIC结束过渡2=void;
f.PIC1层过渡透明度=void;
f.PIC2层过渡透明度=void;
f.PIC双层=void;
f.PIC双层2层开始图数=void;
f.PIC一次=void;
kag.fore.layers[f.PIC编号].visible=false;
kag.back.layers[f.PIC编号].visible=false;
}
}
if (f.PIC双层2层开始图数!=0) f.PIC双层2层开始图数-=1;
if
(f.PIC双层2层开始图数>0&&f.PIC无!=true)
{
kag.fore.layers[f.PIC编号2].visible=false;
kag.back.layers[f.PIC编号2].visible=false;
}
if
(f.PIC双层==true&&f.PIC双层2层开始图数==0&&f.PIC无!=true)
{
if
(f.PIC过渡2==true&&f.PIC无!=true)
{
if
(f.PIC2层图数<f.PIC过渡结束图数&&f.PIC2层过渡透明度!=255)
{
if
(f.PIC2层过渡透明度==0) f.PIC2层过渡透明度=15;
if
(f.PIC2层过渡透明度>0&&f.PIC2层过渡透明度<255) f.PIC2层过渡透明度+=10;
}
if
(f.PIC2层图数>=f.PIC过渡结束图数&&f.PIC2层过渡透明度!=0)
{
if
(f.PIC2层过渡透明度>15) f.PIC2层过渡透明度-=10;
if (f.PIC2层过渡透明度<=15)
f.PIC2层过渡透明度=0;
}
}
try
{
kag.fore.layers[f.PIC编号2].loadImages(%['storage'=>f.PIC文件名+f.PIC2层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:f.PIC2层过渡透明度]);
kag.back.layers[f.PIC编号2].loadImages(%['storage'=>f.PIC文件名+f.PIC2层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:f.PIC2层过渡透明度]);
}
catch
{
f.PIC无=true;
return true;
}
f.PIC2层图数 = f.PIC2层图数 + 1;
if (f.PIC2层图数 >
f.PIC总图数)
{
f.PIC2层图数 = 1;
}
}
}
//PIC结束过程
if (f.PIC结束 ==
true&&f.PIC无!=true)
{
f.pic=void;
if
(f.PIC结束过渡==void&&f.PIC无!=true)
{
if
(f.picone==void)
{
try
{
kag.fore.layers[f.PIC编号].loadImages(%['storage'=>f.PIC文件名+f.PIC1层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:255]);
kag.back.layers[f.PIC编号].loadImages(%['storage'=>f.PIC文件名+f.PIC1层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:255]);
}
catch
{
f.PIC无=true;
return true;
}
f.PIC1层图数 = f.PIC1层图数 + 1;
if (f.PIC1层图数 >
f.PIC总图数)
{
kag.fore.layers[f.PIC编号].visible=false;
kag.back.layers[f.PIC编号].visible=false;
f.PIC1层图数=void;
f.picone=true;
}
}
if
(f.PIC双层==true&&f.PIC无!=true)
{
try
{
kag.fore.layers[f.PIC编号2].loadImages(%['storage'=>f.PIC文件名+f.PIC2层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:255]);
kag.back.layers[f.PIC编号2].loadImages(%['storage'=>f.PIC文件名+f.PIC2层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:255]);
}
catch
{
f.PIC无=true;
return true;
}
f.PIC2层图数 = f.PIC2层图数 + 1;
if (f.PIC2层图数 >
f.PIC总图数)
{
f.PIC2层图数 =
void;
f.PIC双层=void;
f.PIC双层2层开始图数=void;
kag.fore.layers[f.PIC编号2].visible=false;
kag.back.layers[f.PIC编号2].visible=false;
}
}
}
if
(f.PIC结束过渡==true&&f.PIC无!=true)
{
if (f.picone==void)
{
if
(f.PIC1层过渡透明度==void) f.PIC1层过渡透明度=255;
if (f.PIC1层过渡透明度>15)
f.PIC1层过渡透明度-=15;
if (f.PIC1层过渡透明度<=15)
f.PIC1层过渡透明度=0;
try
{
kag.fore.layers[f.PIC编号].loadImages(%['storage'=>f.PIC文件名+f.PIC1层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:f.PIC1层过渡透明度]);
kag.back.layers[f.PIC编号].loadImages(%['storage'=>f.PIC文件名+f.PIC1层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:f.PIC1层过渡透明度]);
}
catch
{
f.PIC无=true;
return true;
}
f.PIC1层图数 = f.PIC1层图数 + 1;
if (f.PIC1层图数 >
f.PIC总图数)
{
f.PIC1层图数 = 1;
}
if
(f.PIC1层过渡透明度==0&&f.PIC无!=true)
{
kag.fore.layers[f.PIC编号].visible=false;
kag.back.layers[f.PIC编号].visible=false;
f.PIC1层图数=void;
f.picone=true;
f.PIC1层过渡透明度=void;
}
}
if
(f.PIC双层==true&&f.PIC无!=true)
{
if (f.PIC2层过渡透明度==void)
f.PIC2层过渡透明度=255;
if (f.PIC2层过渡透明度>15) f.PIC2层过渡透明度-=15;
if
(f.PIC2层过渡透明度<=15)
f.PIC2层过渡透明度=0;
try
{
kag.fore.layers[f.PIC编号2].loadImages(%['storage'=>f.PIC文件名+f.PIC2层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:f.PIC2层过渡透明度]);
kag.back.layers[f.PIC编号2].loadImages(%['storage'=>f.PIC文件名+f.PIC2层图数,left:0,top:0,visible:true,mode:&f.PIC模式,opacity:f.PIC2层过渡透明度]);
}
catch
{
f.PIC无=true;
return true;
}
f.PIC2层图数 = f.PIC2层图数 + 1;
if (f.PIC2层图数 >
f.PIC总图数)
{
f.PIC2层图数 = 1;
}
if
(f.PIC2层过渡透明度==0&&f.PIC无!=true)
{
kag.fore.layers[f.PIC编号2].visible=false;
kag.back.layers[f.PIC编号2].visible=false;
f.PIC2层图数=void;
f.PIC双层=void;
f.PIC2层过渡透明度=void;
f.PIC双层2层开始图数=void;
}
}
}
}
if
(f.picone==true&&f.PIC双层==void||f.PIC直接结束==true)
{
f.picone==void;
f.pic=void;
f.PIC结束=void;
f.PIC直接结束=void;
;f.PIC文件名=void;
;f.PIC1层图数=void;
;f.PIC1层过渡透明度=void;
;f.PIC2层过渡透明度=void;
;f.PIC总图数=void;
f.PIC过渡=void;
f.PIC结束过渡=void;
f.PIC过渡2=void;
f.PIC结束过渡2=void;
f.PIC双层=void;
f.PIC双层2层开始图数=void;
f.PIC过渡结束图数==void;
f.PIC一次=void;
f.PIC无=true;
if
(kag.fore.layers[f.PIC编号].visible==1)
kag.fore.layers[f.PIC编号].visible=false;
if
(kag.back.layers[f.PIC编号].visible==1)
kag.back.layers[f.PIC编号].visible=false;
if
(kag.fore.layers[f.PIC编号2].visible==1)
kag.fore.layers[f.PIC编号2].visible=false;
if
(kag.back.layers[f.PIC编号2].visible==1)
kag.back.layers[f.PIC编号2].visible=false;
}
}
timer1.enabled =
true;
timer1.interval = 150;
@endscript
@macro name=同步图
@if exp="f.PIC速度!=void"
@eval
exp="f.picone==void,f.pic=void,f.PIC结束=void,f.PIC直接结束=void,f.PIC文件名=void,f.PIC1层图数=void,f.PIC2层图数=void,f.PIC总图数=void,f.PIC过渡=void,f.PIC结束过渡=void,f.PIC过渡2=void,f.PIC结束过渡2=void,f.PIC1层过渡透明度=void,f.PIC2层过渡透明度=void,f.PIC双层=void,f.PIC双层2层开始图数=void,f.PIC过渡结束图数==void,f.PIC一次=void"
@eval
exp="kag.fore.layers[f.PIC编号].visible=false,kag.back.layers[f.PIC编号].visible=false,kag.fore.layers[f.PIC编号2].visible=false,kag.back.layers[f.PIC编号2].visible=false"
@endif
;黑底图片add,dodge,lighten很淡的颜色,screen自然的,psoverlay背景会变艳=
=,psdiff反色
;白底图片sub,mul,darken,psburn,psdiff反色
@eval
exp="f.PIC模式='add'"
@eval exp="f.PIC模式='alpha'"
cond="mp.普通"
;反白?
@eval exp="f.PIC模式='add'"
cond="mp.黑底叠加"
;加深叠加
@eval exp="f.PIC模式='sub'"
cond="mp.叠加深"
;叠加
@eval exp="f.PIC模式='mul'" cond="mp.叠加"
;艳反白=
=
@eval exp="f.PIC模式='dodge'" cond="mp.黑底叠加艳"
;叠加以底色白为显有色为无- =
@eval
exp="f.PIC模式='darken'" cond="mp.白底叠加"
;取底色叠加= =底色深的越显示
@eval
exp="f.PIC模式='lighten'" cond="mp.黑底叠加淡"
;取色叠加自然底色深的越显示
@eval
exp="f.PIC模式='screen'" cond="mp.黑底叠加自然"
;艳叠加这颜色不错
@eval
exp="f.PIC模式='psoverlay'" cond="mp.黑底叠加底色艳"
;取色叠加全画面
@eval
exp="f.PIC模式='pshlight'" cond="mp.取色叠加深"
;叠加自然全画面
@eval
exp="f.PIC模式='psslight'" cond="mp.取色叠加"
;加深叠加
@eval
exp="f.PIC模式='psburn'" cond="mp.白底叠加深"
;底色反色
@eval exp="f.PIC模式='psdiff'"
cond="mp.反色"
@eval exp="f.PIC模式='psexcl'" cond="mp.差值"
@eval exp="f.PIC编号=sf.同步图1层,f.PIC编号2=sf.同步图2层"
@eval
exp="f.PIC编号=int(mp.编号),f.PIC编号2=int(mp.编号)+1" cond="mp.编号!=void"
@eval exp="f.PIC文件名=mp.文件,f.PIC总图数=mp.图数,f.pic=true,f.PIC结束=void"
@eval
exp="f.PIC过渡=true" cond="mp.过渡"
@eval exp="f.PIC过渡2=true"
cond="mp.过渡&&mp.双层"
@eval exp="f.PIC双层=true" cond="mp.双层"
@eval
exp="f.PIC速度='150'"
@eval exp="f.PIC速度=&mp.速度"
cond="mp.速度!==void"
@eval exp="f.PIC一次=true" cond="mp.一次"
[eval
exp="pic(f.PIC文件名, f.PIC总图数)"]
@endmacro
@macro name=同步图停
@eval exp="f.PIC速度=&mp.速度"
cond="mp.速度!==void"
@eval exp="mp.time1=f.PIC总图数-f.PIC1层图数"
@eval
exp="mp.time2=f.PIC总图数-f.PIC2层图数" cond="f.PIC2层图数!=void"
@eval
exp="mp.time=mp.time1*150" cond="mp.time2=void||mp.time1>mp.time2"
@eval
exp="mp.time=mp.time2*150"
cond="mp.time2>mp.time1&&mp.time2!=void"
@eval
exp="f.PIC结束过渡=true,mp.time=2700" cond="mp.过渡"
@eval
exp="f.PIC结束=true"
@eval exp="mp.time=mp.时间" cond="mp.时间!=void"
@if
exp=mp.等|mp.等待|mp.时间!=void
@wait time=%time|2700
@else
@eval
exp="f.PIC直接结束=true" cond="mp.直接"
@endif
@endmacro
[return]
===
指令说明
【同步图】
在游戏进行中同步刷新黑底叠加图片
一般用做游戏全屏循环画面效果
属性:
【文件】【必须】
图片的名字
不包括后面的数字
格式按图片x~图片xx来循环显示
例羽毛1.jpg~羽毛82.jpg
文件=羽毛
【图数】【必须】
图片总数量
例羽毛1.jpg~羽毛82.jpg共有82张
图数=82
【过渡】
以透明到不透明再到透明过渡效果
素材以50张以上
【双层】
如果是从没有到有再到没有的效果
例如羽毛从上向下飘
用双层效果更完美
【普通/黑底叠加/黑底叠加艳/黑底叠加淡/黑底叠加自然/黑底叠加底色艳
/白底叠加/白底叠加深/叠加/叠加深/取色叠加/取色叠加深/反色/差值】
新加图片其他叠加功能=
=
用与黑底白底与透明叠加
实际效果请去游戏里亲身感受一下
默认为黑底叠加
普通为不透明特效
用做PNG透明底的特效图动画
【一次】
只一次就消失的效果
不能过渡
【编号】
可以特别指定图层号以用做其它用途
默认为系统专用图层号
双层为编号+1
【速度】
每帧的速度
毫秒为单位
默认为150毫秒
用法为
例:
@同步图 文件=羽毛 图数=82
@同步图 文件=羽毛 图数=82 过渡 双层 速度=100
[同步图 文件=阳光
图数=44 一次]
[同步图 文件=烟雾 图数=60 普通]
===
【同步图停】
同步刷新图停止
属性:
【过渡】
以不透明到透明的消失过渡效果
默认为图片播放到最后一张结束
【直接】
同步图立即消失
【等】
等待效果结束
【时间】
等待的时间
【速度】
每帧的速度
毫秒为单位
默认为原速度
用法为
例:
@同步图停
@同步图停 过渡
@同步图停 等
===
旧版会有BUG= =。。。
请把新版的代码替换入pic.ks文件
同步图刷新KRKR范例下载(1.03版)
BRSBOX地址
http://www.brsbox.com/filebox/down/fc/54837b06e88c3df20c55e0bca7315c6e
这个地址不确定还在不在= =
可以直接在我的华丽丽封装系统3.07里把新版的代码替换入pic.ks文件
就可以用了