【技术交流】编辑现有的蜂窝皮肤实现拖动单个蜂窝and自动对齐
rainmeter吧
全部回复
仅看楼主
level 7
研究了一下蜂窝,弄出了这个东西,个人觉得是一个比较好的关于dock的案例,想体验的,把代码粘贴到现有蜂窝皮肤里,稍微改改参数,就可以用了(先申明的是这个不同于皮肤的拖动,属于比皮肤还小的meter拖动)
先上效果图
第一种没用插件,按下鼠标拖动,没有拖动轨迹,松开后被拖动的那个蜂窝改变位置到鼠标附近的蜂窝位置,并自动对齐。
第二种是借助了@Sa_Oni 代发落地开花@jyf823691221 插件:MousePos(获取鼠标位置插件)
这种有拖动轨迹,按下鼠标进行拖动,被拖动的那个会蜂窝跟着鼠标移动,并自动吸附近的的蜂窝位置,松开后就蜂窝就呆在那里了。
图片来自:那些年的爱笑的的百度相册代码比较简单,翻了一下精品区,看到没人发过类似的,就偷偷地发这么一个帖子。由于没有准备,更新可能较慢。可以随便插楼。
2015年01月05日 12点01分 1
level 7
打开我们现在正在用的蜂窝(如果没有请随便下载一个)然后右键编辑皮肤,打开记事本在最上面添加下面代码
[bg]
Meter=Image
w=700
h=700
MiddleMouseupAction=[!setvariable x $mouseX$][!setvariable y $mousey$][!SetOption bg solidcolor 0,0,0,0][!enableMeasure 判断][!update]
solidcolor=0,0,0,0
然后在[Variables]下面添加下面代码
xzb=0
yzb=0
x=0
y=-1
然后在记事本最下面添加下面代码
[dqx]
Measure=Calc
Formula=Round(
#x#
/49)*49
DynamicVariables=1
[判断]
Measure=Calc
Formula=(Round(
#x#
/49)*49)%2
IfCondition=判断>0
ifTrueAction=[!setvariable 偏移 26 ][!enableMeasure dqy][!update]
IfFalseAction=[!setvariable 偏移 0 ][!enableMeasure dqy][!update]
DynamicVariables=1
disabled=1
[dqy]
Measure=Calc
Formula=Round((
#y#
+
#偏移#
)/54)*54-
#偏移#

IfCondition=
#y#
>-1
ifTrueAction=[!Writekeyvalue Variables
#xzb#
[dqx] "
#currentpath#
/
#currentfile#
"][!Writekeyvalue Variables
#yzb#
[dqy] "
#currentpath#
/
#currentfile#
"][!refresh]
DynamicVariables=1
disabled=1
好了代码基本写完了
下面的就比较简单了
2015年01月05日 14点01分 2
level 7
一般dock都是由3部分组成的,例如下面这种
; ----------Dock2---------
[X2Y5]
Meter=IMAGE
ImageName=bin1.png
X=47
Y=110
W=64
H=52
Hidden=1
[X2Y5exe]
Meter=Button
X=47
Y=110
W=64
H=52
Hidden=1
ButtonImage=button1.png
LeftMouseUpAction=!Execute ["
#Path2#
"]
[X2Y5text]
Meter=STRING
X=78
Y=125
FontColor=
#FontColor#

FontFace=
#FontFace#

FontSize=
#Fontsize#

StringEffect=SHADOW
StringAlign=CENTER
AntiAlias=1
Text="
#Dock2#
"
Hidden=1
我们需要修改到下面这个样子
; ----------Dock2---------
[X2Y5]
Meter=IMAGE
ImageName=bin1.png
x=(-32+
#蜂窝1x#
)
y=(-26+
#蜂窝1y#
)
W=64
H=52
Hidden=1
MiddleMouseDownAction=[!setvariable xzb 蜂窝1x][!setvariable yzb 蜂窝1y][!SetOption bg solidcolor 255,0,0,100][!update]
[X2Y5exe]
Meter=Button
x=(-32+
#蜂窝1x#
)
y=(-26+
#蜂窝1y#
)
W=64
H=52
Hidden=1
ButtonImage=button1.png
LeftMouseUpAction=!Execute ["
#Path2#
"]
[X2Y5text]
Meter=STRING
x=(
#蜂窝1x#
)
y=(
#蜂窝1y#
)
FontColor=
#FontColor#

FontFace=
#FontFace#

FontSize=
#Fontsize#

StringEffect=SHADOW
StringAlign=CENTER
AntiAlias=1
Text="
#Dock2#
"
Hidden=1
然后ctrl+s保存。保存好了刷新皮肤,这个dock就跑到这个皮肤的左上角,拖动两下这个dock就可以被拖动了,把每个dock都这么更改(蜂窝1分别改为蜂窝2,蜂窝3...不要重复)基本上就全都可以被拖动了(没有轨迹),让后就做好了。
2015年01月05日 14点01分 3
level 7
这个设置的是中键拖动,按下鼠标键中键(没有中键的按鼠标滚轮)移动鼠标一段距离,然后松开。
2015年01月05日 14点01分 4
吧务
level 11
辛苦。
2016年07月16日 08点07分 5
哈哈,很久以前弄的。
2016年07月17日 02点07分
@那些年的爱笑的 [大拇指]感觉很赞啊~找二宠给你加个精
2016年07月17日 23点07分
@我是宠的小尾巴 这个没有技术含量,所以不用加精了,况且我已经不写雨滴代码了。
2016年07月18日 06点07分
吧务
level 13
吸附边缘修正偏移超级好评[真棒]
2016年07月16日 11点07分 6
蜜蜂
2016年07月17日 02点07分
level 1
创意真心不错哎,有资源没?
2016年07月18日 07点07分 8
没有,但是如果已经懂一点点皮肤变编写,把上面的代码按顺序写过去应该可以用
2016年07月18日 16点07分
吧务
level 13
好顶赞,混合脸熟[真棒][真棒][真棒]
2016年07月18日 09点07分 9
已经很熟了,你的音乐频谱皮肤很好用。
2016年07月18日 16点07分
2016年07月18日 17点07分
level 7
有什么想的可以去问问其他吧里的大神,他们能力都特别强,由于自己很久不玩雨滴了,所已:
==============================此贴终止==============================
2016年07月18日 16点07分 10
level 3
先收藏
2020年10月22日 07点10分 11
1