Live 2D

看板娘改造完成了

fghrsh.net弄来的看板娘被改造到了WordPress插件中,这中间遇到不少坑。

首先是我不会PHP的问题,大部分都是在网上查的,我一直以为弱类型语言比较随意,其实也是需要进行数据类型的强转的。这个主要是在WordPress的register_setting函数中,有一个sanitize回调函数,这个回调函数主要是获得传值并进行数据清理,在看板娘中有如下代码:

if (!live2d_settings.showToolMenu) $('.waifu-tool').hide();
if (!live2d_settings.canCloseLive2d) $('.waifu-tool .fui-cross').hide();
if (!live2d_settings.canSwitchModel) $('.waifu-tool .fui-eye').hide();
if (!live2d_settings.canSwitchTextures) $('.waifu-tool .fui-user').hide();
if (!live2d_settings.canSwitchHitokoto) $('.waifu-tool .fui-chat').hide();
if (!live2d_settings.canTakeScreenshot) $('.waifu-tool .fui-photo').hide();
if (!live2d_settings.canTurnToHomePage) $('.waifu-tool .fui-home').hide();
if (!live2d_settings.canTurnToAboutPage) $('.waifu-tool .fui-info-circle').hide();

这里的设置接收的是一个Boolean类型,在JSON序列化之后这个对象中的每一个属性都变成了String 类型,无法进行判断。所以还是不能偷懒,最后强制转换为Boolean类型就可以使用了。

之前还想偷懒不进行register_activation_hook钩子的设定,后来发现可能会带来不少麻烦事,所以还是选择在安装插件的时候直接向options表中写入数据,并在register_uninstall_hook卸载插件钩子的时候将增加的字段删除,保证WP的数据库不会保留太多的垃圾数据。

去除了一个鼠标事件.waifu #live2d可以避免鼠标每次经过看板娘的时候他就混乱的说各种话。

因为在界面中动态增加array真的太麻烦了,所以没有做某个事件的多语言随机。

最后,设置图: