函数和全局变量作为 KLWP 的控制方式,在自定义效果中运用极其广泛。文本元素可受函数控制,与图形或组件互相搭配,形成功能性项目;全局变量可作项目样式的标准或切换开关,只需在特定项目中链接它即可实现,成为一劳永逸的方式。今天我们来结合 KLWP 的预设包解析,了解一下 KLWP 中函数效果和全局变量的应用。
用户之下 万项之上:全局变量
我们可以将全局变量理解为用户和 KLWP 项目偏好之间的捷径,全局变量受到用户控制,其他项目只要被它链接,那么他们都将受全局变量所控制,可谓是「一人之下,万人之上」。
在 KLWP 中,全局变量存在多种形式,可作为项目缺省的样式偏好,包括颜色、字体、锚点等,也有功能性设置,例如常用的开关。使用起来也非常简单,在复选框选中某一个或几个项目,然后在右上角点一下地球样式的按钮,KLWP 就自己匹配到相关变量然后链接。
我们添加几个组件,分别是电量、日历、时钟。其中,电量组件包括剩余电量颜色、空置电量颜色、文字颜色和字体;日历包括字体、字体颜色和背景颜色;模拟时钟包括表盘背景色、秒针颜色和分/时针颜色。
假若我们正在制作一款动态壁纸,想要以上三个项目风格统一,那么只需要添加关于颜色和字体全局变量即可。我们在根目录切换到全局变量选项卡,分别添加颜色和字体类型并为变量命名,当然,你可以添加多个相同类别的全局变量;之后分别改变变量值(调整颜色和字体),再进入项目本身进行链接。在这里,我们可以将颜色和字体一并打钩,因为 KLWP 会自动匹配类型,如果你真的设置了多个同类型变量,那么点击一下项目后面的地球图标即可选择你要链接的相关变量。
在「A Drop」预设包中,固定在屏幕下方的圆形按钮充当了快捷方式的开关,它便利用了全局变量中的「On/Off 开关」作为动画触发条件,点击按钮时切换开关为 On,触发了背景淡出、快捷方式和 RSS 新闻飞入、时钟和其他卡片的出、按钮旋转这几种动画效果,由此让动态壁纸实现了类 Launcher 的功能。
以动制静 千变万化:函数变量
图形化界面操作固然简便,但局限性也非常明显,多种功能嵌套可实现更复杂的效果,但也会产生过多操作层级,或许会弄巧成拙。在 KLWP 中,针对一些静态元素,我们可以使用函数变量来控制其所示内容,使之可变,然后搭配其他元素,实现组件功能,进而成为我们 DIY 的功能性项目。
在 KLWP 中,使用函数变量功能并不难,只不过入口有些隐蔽,因为代表函数的图标实在是太像一个计算器了,然而 KLWP 中的函数与数学并没有什么关系。与连接全局变量的方法一样,我们勾选项目后在右上角点击「计算器」按钮,之后再点击项目后的计算器图标来编辑函数。 而在添加菜单中直接增加文本元素时,文本自身就以函数形式存在,只需点击文本内容处即可更改函数值。
KLWP 将所有可使用的函数都分类呈现在下方,包括文字样式代码(字体、加粗倾斜甚至是颜色,省去了一层一层点击的麻烦),我们只需要查看并调用即可。在这里,单击某条函数可在光标处插入,长按则替换编辑框内所有字符;为何会有单击和双击的区别,我们稍后进行解释。
KLWP 包含了 24 种函数,其中囊括了时间日期、天气位置、电池网络、音乐甚至是天文和资源管理器,而其中每一种函数里面又细分了多种条目。当然,其中有一些虽然强大但并不实用,例如资源管理器,但像是音乐信息这种 Launcher 上常常出现的 widget,可是我们 DIY 的首选。同样在「A Drop」预设包中,RSS 阅读器就利用了「wg」函数来获取 RSS 信息。
在后面几个类别中我们注意到这样几种函数:颜色相关(生成器、编辑器、调色板)、if 语句、广播接收(不是收音机的那个广播),这几种看起来很高深的函数,其实也大有用途。
与颜色相关的这几种函数,例如位图调色板,它的作用是从图片中提取某种特定值或特定类型的颜色并返回值,这有什么用呢?从函数举例中大家可以联想音乐播放器,当播放到有专辑封面的歌曲时,播放器的背景、按钮等会更换为与专辑封面相得益彰的色彩,而 KLWP 中这个函数的返回值就可以成为我们制作播放器的背景色值。
If 语句类似各类编程语言,比如「如果音乐正在播放,则播放按钮由三角形更换为矩形」,或「如果没有连接无线网路,则提示网络状态」等等,这里就涉及到函数的嵌套,而前文所说单击与双击的区别就在这里。我们可以先插入 if 函数,然后将光标移到 if 参数处,单击某函数语句从而在 if 函数中嵌套此函数,避免手动输入错误或复制粘贴的繁琐。刚才说到的位图编辑器,我们也可以嵌套入获取图片的函数,使得某一屏成为照片墙。
广播接收主要针对外部应用,KLWP 支持神器 Tasker 和 zooper widget 的外部信息发送和获取,具体应用涉及到 Tasker 和 zooper widget,而这又是一门学问,我们暂且放在一边。
以上就是对 KLWP 中「全局变量」和「函数变量」的简述。作为新手,拆解并更改预设包内容是一个学习的过程,而作为了解了基本构造的你来说,学会使用变量并试着创造一个功能组件,才是独立的象征。如果说前面几期教你如何更改预设包的话,那么认识了变量,才等于 DIY 入门。
你可以在 Google Play 下载 KLWP Live Wallpaper Maker。
,