- UID
- 237063
- 主题
- 注册时间
- 2012-4-8
- 在线时间
- 小时
- 最后登录
- 1970-1-1
签到天数: 190 天 [LV.7]常住居民III
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?点击注册
x
本帖最后由 looklookis 于 2012-5-1 07:29 编辑
因有版友想显示某些效果,但我没有直接帮他编写,只是张他要的效果而又会用的到代码制作成一个皮肤,
在当中做注解让他明白编写的原理,同代码的一些特定的规则,因他已有改写皮肤所以对代码有一定的认
识,所以这皮肤只是和他分享常会见到的代码如何灵活运用,因利成便所以也拿来和大家分享.
会用到有WebParser.dll这插件,天气皮肤,RSS阅读器,本机文件阅读也会用到,理解同运用对以上皮肤除
错会比较容易.
"OnRefreshAction","IfEqualAction","IfAboveAction"以上的特定条件执行代码也很常见,配合这运算
设置使用便可在指定时间或指定的条件执行自己想用的效果.
"Variables","DynamicVariables"变数同动态变数使用更会令显示效果多变,他不只是使用当中的值(可
以是文字值或数学数字值),显示在桌面之上,也可以套用在"Measure"或"Meter"之中.
"Group"群组这设置可以一次使多个同群组的"Measure"或"Meter"指定实施某些动作,例如像下面示范
皮肤中令同一群组的"Meter"设置为隐藏.
也解释下Rainmeter在使用皮肤内的代码设置是由第一行向下使用到最尾一行,这也很重要像下面范例皮
肤,他先是隐藏整个群组的"Meter",才到显示群组内其中的一个"Meter",如果掉转次序张不会显示群组内
其中的这一个"Meter".
范例皮肤是一开始便设置[MeterRSS1]为显示,再用插件读取本机文字档中的3段文字资讯先显示第一段
文字过10秒隐藏第一段再显示第二段,这皮肤便会重复显示这3段文字.
首先先写一个文本.
例子:
第一段:123:完
第二段:456:完
第三段:789:完
写完后存档为look.txt
之后到编写Rainmeter的编码
[Rainmeter]
Author=looklookis
Update=1000
OnRefreshAction=!Execute [!RainmeterShowMeter MeterRSS1] [!RainmeterRedraw] ;这是设
置一使用这皮肤时先显示第一段读取的资讯,即是显示[MeterRSS1]这个Meter设置
[Variables]
Playlist=1
;Measure~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[MeasureRSS]
Measure=Plugin
Plugin=WebParser.dll
CodePage=936 ;这是简体字的编码Code
;CodePage=950 ;这是繁体字的编码Code
Url=file://C:\Users\look\Documents\Rainmeter\Skins\winamp playlist player\look.txt ;刚才写的
文本存放路径
RegExp="(?siU)(?(?=.*第).*段:(.*):完)(?(?=.*第).*段:(.*):完)(?(?=.*第).*段:(.*):完)"
;这样(?(?=.*第).*段:(.*):完)可能同你见过读取天气或RSS资讯方法不同,但这样读取有其好处,这段(?(?=.*第).*
是先看看资讯内有没有"第"这段,没有则不做之后动作,这样即是用多了读取编码也不会做成错误,之后"段:"是
开始提示通知之后的资讯便是要读取的内容,最后":完"这段是完结提示,通知读取到见这段便完结,这样第一段
读取完结开始读取第二段,直到你设置要读取多少段后便正式停止读取.
[MeasureRSS1]
Measure=Plugin
Plugin=WebParser.dll
Url=[MeasureRSS]
StringIndex=1 ;因要独立使用每段读取的资讯,所以使用StringIndex=1通知要读取[MeasureRSS]内
的第一段资讯,所以上面便使用Url=[MeasureRSS]通知使用[MeasureRSS]内的已读取资讯.
[MeasureRSS2]
Measure=Plugin
Plugin=WebParser.dll
Url=[MeasureRSS]
StringIndex=2
[MeasureRSS3]
Measure=Plugin
Plugin=WebParser.dll
Url=[MeasureRSS]
StringIndex=3
[MeasureCalc]
Measure=Calc ;运算设置可以令每段资讯,一段一段这样显示.
Formula=Counter%11 ;"Counter%"这运算子是由0向上增加到你设置的数值,这里设置为11.
UpdateDivider=1
DynamicVariables=1
[MeasureCalc1]
Measure=Calc
Formula=MeasureCalc ;这里是设置为使用[MeasureCalc]内的数值.
IfEqualValue=10 ;IfEqualAction是如果"Formula="使用的设置内的数值是IfEqualValue设置的数值是
一样时便执行下面设置的动作.
IfEqualAction=!Execute [!RainmeterSetVariable Playlist (#Playlist#+1)] [!RainmeterRedraw]
;!RainmeterSetVariable Playlist是张这Playlist变数改变为这Playlist变数加1,这样设置是当读取的资讯显
示后,当过了11这数值时便显示下一段资讯,当成每段显示时间的长短的的设定,
DynamicVariables=1
[MeasureCalc2]
Measure=Calc
Formula=#Playlist# ;因上面的设置所以这Playlist变数会每10便改变为+1,即是上面每运算一次Playlist变
数便加1.
IfAboveValue=3 ;这里设置为张变数内的数值同这设置的数值做对比.
IfAboveAction=!Execute [!RainmeterSetVariable Playlist 1] [!RainmeterRedraw] ;因这例子只读取
3段资讯,所以当这Playlist变数是4大过IfAboveValue对比数值3时便张改Playlist变数变为1,因这是比下面的
设置用,是要现在是显示第几段资讯.
DynamicVariables=1
[MeasureCalc3]
Measure=Calc
Formula=#Playlist# ;使用这Playlist变数内的数值
IfEqualValue=#Playlist# ;也用这变数内的数值做对比,数值一定是一样的所以下面的设置一定执行.
IfEqualAction=!Execute [!HideMeterGroup RSS] [!RainmeterShowMeter MeterRSS#Playlist#] [!RainmeterRedraw]
;!HideMeterGroup是隐藏你指定"RSS"这群组,之后才显示这个[!RainmeterShowMeter MeterRSS#Playlist#],
不要张次序掉乱否则不会显示,而MeterRSS后面用这Playlist变数,是因为下面设置为第一段资讯用MeterRSS1
设置显示,所以当变数改变为2时便显示MeterRSS2,这便是改变显示第几段的设置.
DynamicVariables=1
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[MeterRSS1]
Group=RSS ;Group=这是设置群组,"RSS"这是我设置的群组名称
Meter=STRING
MeasureName=MeasureRSS1
X=0
Y=2
FontColor=255,255,255
FontSize=12
text="1: %1"
AntiAlias=1
Hidden=1
[MeterRSS2]
Group=RSS
Meter=STRING
MeasureName=MeasureRSS2
X=0
Y=2
FontColor=255,255,255
FontSize=12
text="2: %1"
AntiAlias=1
Hidden=1
[MeterRSS3]
Group=RSS
Meter=STRING
MeasureName=MeasureRSS3
X=0
Y=2
FontColor=#FontColor#
FontSize=12
text="3: %1"
AntiAlias=1
Hidden=1
|
评分
-
查看全部评分
|