level 9
[MeasureCount]
Measure=Calc
Formula=Counter*2*3.141592654/30
UpdateDivider=1
[MeasureCount1]
Measure=Calc
Formula=MeasureCount+2.094395102
[MeasureCount2]
Measure=Calc
Formula=MeasureCount-2.094395102
[MeasureR]
Measure=Calc
Formula=(255*(sin(MeasureCount2)+0.5))<0?0:((255*(sin(MeasureCount2)+0.5))>255?255:(255*(sin(MeasureCount2)+0.5)))
[MeasureG]
Measure=Calc
Formula=(255*(sin(MeasureCount1)+0.5))<0?0:((255*(sin(MeasureCount1)+0.5))>255?255:(255*(sin(MeasureCount1)+0.5)))
[MeasureB]
Measure=Calc
Formula=(255*(sin(MeasureCount)+0.5))<0?0:((255*(sin(MeasureCount)+0.5))>255?255:(255*(sin(MeasureCount)+0.5)))
直接像下面一样引用就可以实现了
Color=[MeasureR],[MeasureG],[MeasureB]
DynamicVariables=1
2013年07月01日 11点07分
2
代码原理是使用3个相位不同的sin函数,分别代表RGB的三个值的变化。利用sin函数上下波动的性质,约束了RBG三个值的关系,使得表现的颜色一直都是鲜艳的,不会出现灰暗的颜色。利用sin函数的周期性,实现了"红橙黄绿蓝靛紫"的循环。
2013年07月02日 00点07分
修改Formula=Counter*2*3.141592654/30中的30改得更大,如60,可以获得更加好的渐变效果,不过相应的循环时间会更长
2013年07月02日 03点07分
复制粘贴就行了?
2013年08月24日 14点08分
时间过得好快啊,不过不变的是编码的思想,这就是大佬吗ilil
2020年03月25日 11点03分
level 9
这个循环时间可以改
现在的是30秒循环一次
把Formula=Counter*2*3.141592654/30
后面的30改成你想要的时间就好了
不过不要太短就好了,虽然说是渐变,不过原理还是每次刷新换一次颜色而已,太短会显得没渐变效果。
2013年07月01日 12点07分
7
level 13
捧个场。公示太多,弄得我不知道楼主是怎么实现的了orz
2013年07月01日 12点07分
8
回复 Sa_Oni :就是用3个不同相位的sin函数,分别表示颜色的R G B B 255*(sinx+0.5) G 255*(sin(x+120)+0.5) R 255*(sin(x-120)+0.5)
2013年07月01日 13点07分
回复 Verweind :也不懂为毛要用sino(╯□╰)o颜色增加难道也有快慢之分么
2013年07月01日 14点07分
回复 Sa_Oni :因为要想像彩虹一样的颜色变化,用sin函数应该是最简单的
2013年07月01日 14点07分
level 9
哇 好厉害 看不懂,,,,
-----嗯,叫我小信吧~
-----签名是【魔法师的学徒】别问了帅哥美女们……
2013年07月01日 12点07分
9
每次看到你的头像就会想到木木,可爱又搞笑
2013年07月01日 13点07分
回复 唯恋慧儿 :木木是谁呀~
2013年07月01日 13点07分
回复 ysyn_lcz :...英雄联盟里的人物—.—殇之木乃伊
2013年07月01日 13点07分
回复 唯恋慧儿 :
2013年07月01日 13点07分
level 13
楼上把我要说的话抢走了T_T
表示sin函数很霸气,奈何数学渣渣。。
2013年07月01日 14点07分
12
level 9
过度效果与循环一次时间内的刷新的次数有关,
就是说如果循环一次时间里刷新了100次,那就是把循环的颜色区间100等分,每次改变1%。
200次就是200等分,如此类推。
如果循环时间足够长,刷新速度足够快,理论上可以达到RGB颜色的最小改变值。
2013年07月01日 16点07分
17