◆少前百科是非盈利性、非官方的少女前线维基百科。 ◆如果您发现某些内容错误/空缺,请勇于修正/添加!参与进来其实很容易!点这里 加入少前百科。 ◆有任何意见、建议、纠错,欢迎在 GFwiki:反馈与建议 提出和讨论。编辑事务讨论QQ群:597764980,微博@GFwiki少前百科 ◆To foreigners,You can use twitter to contact us. |
MediaWiki:Gadget-live2dDollAnimation.js
GFWiki>Messing with data2018年9月15日 (六) 22:13的版本 (Higher resolution)
注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:前往菜单 → 设置(Mac为Opera → Preferences),然后隐私和安全 → 清除浏览数据 → 缓存的图片和文件。
function getFilePath(name) {
return "/images/" + window.gfUtils.createWikiPathPart(name) + name;
}
function modelChanged(containerDiv, finishedCallback) {
try {
var viewCanvas = containerDiv.find('.live2dstage').first();
var l2d_tdoll_stage = viewCanvas.data('live2dStage');
l2d_tdoll_stage.removeChildren();
var successCallback = function(l2d_tdoll_sprite) {
l2d_tdoll_stage.addChild(l2d_tdoll_sprite);
finishedCallback();
};
var failureCallback = function(err) {
console.log("Error loading model", err);
finishedCallback();
};
// Calculate Background ID
var dollId = containerDiv.data("t-doll");
var costumeId = containerDiv.data("costume");
var variantId = containerDiv.data("variant");
// Load model here
gfUtils.live2dUtils.loadLive2dGirl(containerDiv, dollId, costumeId, variantId, successCallback, failureCallback);
} catch (err) {
console.log("Error changing model", err);
finishedCallback();
}
}
function frameworkLoadedHandler(containerDiv) {
gfUtils.live2dUtils.createLive2dView(containerDiv, function(view) {
if (containerDiv.find('.live2dstage').length < 1) {
containerDiv.append(view);
}
containerDiv.on('modelchanged', function() {
containerDiv.addClass("loading");
modelChanged(containerDiv, function() {
containerDiv.removeClass("loading");
});
});
containerDiv.trigger('modelchanged');
}, 800, 800);
}
function initDollLive2dEngine(containerDiv) {
try {
containerDiv.addClass("loading");
mw.loader.using('ext.gadget.live2d').then(function() {
frameworkLoadedHandler(containerDiv);
});
} finally {
containerDiv.removeClass("loading");
}
}
RLQ.push(function () {
$(document).ready(function() {
console.log(window);
var containerDiv = $('.dollLive2d');
if (containerDiv.length < 1) {
return;
}
$(containerDiv).each(function() {
initDollLive2dEngine($(this));
});
});
});