level 8
wosgar
楼主
写在前面:
1) 若你是新手,在阅读此篇之前请先阅读本教程第一篇中涉及到皮肤的内容;
2) 本篇内容并不直接告诉你怎么修改皮肤,而是通过一系列练习让你自己知道如何修改皮肤;
练习中可能用到的插件:foo_ui_columns.dll、foo_uie_panel_splitter.dll、foo_uie_elplaylist.dll、foo_uie_wsh_panel_mod.dll
1 皮肤元素——面板
FB的皮肤是由面板构成的。为了便于理解,我们可以将面板分为两大类:纯面板和容器类面板。两者最大的区别在于容器类面板的内部还可以插入其它面板,而纯面板不能。下面将用到的面板栈分离器是容器类面板,而ELPlaylist是纯面板。因为你可以在面板栈分离器内插入ELPlaylist,但你不能在ELPlaylist里面插入面板栈分离器。
通常我们会在容器类面板中插入若干个纯面板,然后通过脚本代码来控制纯面板何时显示,以及显示的位置,也就是说容器类面板通常充当布局的角色。而纯面板用于实现某一具体的功能,如可将WSH面板设计成播放列表切换器,使用ELPlaylist面板实现播放列表的功能。
2 面板布局
请先将你当前的皮肤配置信息导出,以免进行下列操作时把现有的皮肤给搞丢了。同时确保你现在的FB中至少有一张播放列表里面是有歌曲的。
接着请打开参数选项窗口,左侧点击“显示-分栏用户界面”,右侧激活“布局”选项卡,再点击“重置”按钮,确认后应该会变成下图的样子,将面板列表(就是下图框框内的东东)中除第一块面板(水平分离器)外的其它面板统统用右键将其删除。

然后在第一块面板上右击选择“更改基本属性-分离器-面板栈分离器”,接着在第一块面板上右击选择“插入面板-分离器-面板栈分离器”, 然后在第二块面板上右击选择“插入面板-面板-播放列表切换器”,再在第二块面板上右击选择“插入面板-播放列表视图-ELPlaylist”。

两次插入之后的截图:

接下来,选中第二块面板,点击“配置”按钮,激活“面板列表”选项卡,将下面列表中的第一块列表的标题改为“playlist_switcher”, 并选中“强制布局”;第二块列表的标题改为“playlist”,同样选中“强制布局”。

然后激活“脚本-每音轨更新”选项卡,在里面输入下面两行语句:
$movepanel_c(playlist_switcher,0,70,100,$sub(%ps_height%,70))
$movepanel_c(playlist,100,70,$sub(%ps_width%,100),$sub(%ps_height%,70))

确定之后回到主界面,你将看到类似下图的效果:

语句解释:
%ps_height%变量
%ps_height%是全局变量,表示母面板的高度。因为你现在打开的是第二块面板的配置窗口,所以这里的母面板指的是第二块面板的高度。如果没有指定这块面板的位置和尺寸,它就会默认地占据整个播放器界面。
$sub函数
sub是英文“相减”的缩写,$sub(80,30)就是80-30,返回值是50。$sub(%ps_height%,70)意思是将母面板的高度减去70。
$movepanel_c函数
movepanel英文“移动面板”的意思,该函数用于将某一块面板移动到母面板的指定位置上,同时还指定了该面板的宽与高。语法:
$movepanel_c(面板标题,x坐标,y坐标,面板宽度,面板高度)
理解了这些,你应该就能看懂下面这条语句了吧:
$movepanel_c(playlist_switcher,0,70,100,$sub(%ps_height%,70))
它的意思是将playlist_switcher(也就是播放列表切换器)这块面板放置在与x轴距离为0,与y轴距离为70的位置上,且将该切换器的宽度设置为100,高度设置为:母面板的高度减去70。最终的效果是该切换器显示在FB界面的左侧,且宽度为100。
2013年11月17日 16点11分
1
1) 若你是新手,在阅读此篇之前请先阅读本教程第一篇中涉及到皮肤的内容;
2) 本篇内容并不直接告诉你怎么修改皮肤,而是通过一系列练习让你自己知道如何修改皮肤;
练习中可能用到的插件:foo_ui_columns.dll、foo_uie_panel_splitter.dll、foo_uie_elplaylist.dll、foo_uie_wsh_panel_mod.dll
1 皮肤元素——面板
FB的皮肤是由面板构成的。为了便于理解,我们可以将面板分为两大类:纯面板和容器类面板。两者最大的区别在于容器类面板的内部还可以插入其它面板,而纯面板不能。下面将用到的面板栈分离器是容器类面板,而ELPlaylist是纯面板。因为你可以在面板栈分离器内插入ELPlaylist,但你不能在ELPlaylist里面插入面板栈分离器。
通常我们会在容器类面板中插入若干个纯面板,然后通过脚本代码来控制纯面板何时显示,以及显示的位置,也就是说容器类面板通常充当布局的角色。而纯面板用于实现某一具体的功能,如可将WSH面板设计成播放列表切换器,使用ELPlaylist面板实现播放列表的功能。
2 面板布局
请先将你当前的皮肤配置信息导出,以免进行下列操作时把现有的皮肤给搞丢了。同时确保你现在的FB中至少有一张播放列表里面是有歌曲的。
接着请打开参数选项窗口,左侧点击“显示-分栏用户界面”,右侧激活“布局”选项卡,再点击“重置”按钮,确认后应该会变成下图的样子,将面板列表(就是下图框框内的东东)中除第一块面板(水平分离器)外的其它面板统统用右键将其删除。

然后在第一块面板上右击选择“更改基本属性-分离器-面板栈分离器”,接着在第一块面板上右击选择“插入面板-分离器-面板栈分离器”, 然后在第二块面板上右击选择“插入面板-面板-播放列表切换器”,再在第二块面板上右击选择“插入面板-播放列表视图-ELPlaylist”。
两次插入之后的截图:
接下来,选中第二块面板,点击“配置”按钮,激活“面板列表”选项卡,将下面列表中的第一块列表的标题改为“playlist_switcher”, 并选中“强制布局”;第二块列表的标题改为“playlist”,同样选中“强制布局”。
然后激活“脚本-每音轨更新”选项卡,在里面输入下面两行语句:$movepanel_c(playlist_switcher,0,70,100,$sub(%ps_height%,70))
$movepanel_c(playlist,100,70,$sub(%ps_width%,100),$sub(%ps_height%,70))

确定之后回到主界面,你将看到类似下图的效果:
语句解释:%ps_height%变量
%ps_height%是全局变量,表示母面板的高度。因为你现在打开的是第二块面板的配置窗口,所以这里的母面板指的是第二块面板的高度。如果没有指定这块面板的位置和尺寸,它就会默认地占据整个播放器界面。
$sub函数
sub是英文“相减”的缩写,$sub(80,30)就是80-30,返回值是50。$sub(%ps_height%,70)意思是将母面板的高度减去70。
$movepanel_c函数
movepanel英文“移动面板”的意思,该函数用于将某一块面板移动到母面板的指定位置上,同时还指定了该面板的宽与高。语法:
$movepanel_c(面板标题,x坐标,y坐标,面板宽度,面板高度)
理解了这些,你应该就能看懂下面这条语句了吧:
$movepanel_c(playlist_switcher,0,70,100,$sub(%ps_height%,70))
它的意思是将playlist_switcher(也就是播放列表切换器)这块面板放置在与x轴距离为0,与y轴距离为70的位置上,且将该切换器的宽度设置为100,高度设置为:母面板的高度减去70。最终的效果是该切换器显示在FB界面的左侧,且宽度为100。








