微件:Live2d:修订间差异
跳转到导航
跳转到搜索
无编辑摘要 |
无编辑摘要 |
||
| (未显示同一用户的5个中间版本) | |||
| 第1行: | 第1行: | ||
<noinclude> | <noinclude> | ||
WIP | WIP | ||
{{live2d|index=248_1}} | |||
</noinclude><includeonly> | </noinclude><includeonly> | ||
<button id='live2d-button' onclick='live2d_main()'>点击显示</button> | <button id='live2d-button' onclick='live2d_main()'>点击显示</button> | ||
<script src='https:// | <script src='https://zjsnrwiki.github.io/live2d/src/live2d.min.js'></script> | ||
<script src='https:// | <script src='https://zjsnrwiki.github.io/live2d/src/Live2DFramework.js'></script> | ||
<script src='https:// | <script src='https://zjsnrwiki.github.io/live2d/src/MatrixStack.js'></script> | ||
<script src='https:// | <script src='https://zjsnrwiki.github.io/live2d/src/ModelSettingJson.js'></script> | ||
<script src='https:// | <script src='https://zjsnrwiki.github.io/live2d/src/PlatformManager.js'></script> | ||
<script src='https:// | <script src='https://zjsnrwiki.github.io/live2d/src/LAppModel.js'></script> | ||
<script> | <script> | ||
var | var l2d_index = "<!--{$index|escape:'quotes'}-->"; | ||
var l2d_url = '/wg_img/ccbResources/live2D/' + l2d_index + '/model.model.json'; | |||
var l2d_canvas = null; | var l2d_canvas = null; | ||
| 第24行: | 第24行: | ||
var l2d_config = null; | var l2d_config = null; | ||
var l2d_triggers = [ ]; | var l2d_triggers = [ ]; | ||
var l2d_eyeY = 0.9; | |||
function live2d_main() | function live2d_main() | ||
{ | { | ||
// I don't know how to calculate eyes' coordinate, so hard coded here | |||
if (l2d_index == '59_1') | |||
l2d_eyeY = 0.945; | |||
else if (l2d_index == '248_1') | |||
l2d_eyeY = 0.885; | |||
l2d_canvas = document.getElementById('live2d-canvas'); | l2d_canvas = document.getElementById('live2d-canvas'); | ||
var bg = document.getElementById('live2d-background').style; | |||
var vw = document.documentElement.clientWidth; | var vw = document.documentElement.clientWidth; | ||
if (l2d_canvas.width > vw * 0.9) { | if (l2d_canvas.width > vw * 0.9) { | ||
l2d_canvas.height *= vw * 0.9 / l2d_canvas.width; | l2d_canvas.height *= vw * 0.9 / l2d_canvas.width; | ||
l2d_canvas.width = vw * 0.9; | l2d_canvas.width = vw * 0.9; | ||
bg.height = l2d_canvas.height + 'px'; | |||
bg.width = l2d_canvas.width + 'px'; | |||
} | } | ||
| 第37行: | 第49行: | ||
document.getElementById('live2d-button').style.display = 'none'; | document.getElementById('live2d-button').style.display = 'none'; | ||
var time = new Date().getHours(); | var time = new Date().getHours(); | ||
if (time < 6) | if (time < 6) | ||
bg.backgroundImage = 'url(/wg_img/ccbResources/user_detail_bg1.png)'; | bg.backgroundImage = 'url(/wg_img/ccbResources/user_detail_bg1.png)'; | ||
| 第94行: | 第104行: | ||
function initTriggers() | function initTriggers() | ||
{ | { | ||
for ( | for (var hitArea of l2d_config.hit_areas) | ||
for ( | for (var triggerData of l2d_config.trigger) | ||
if (hitArea.id == triggerData.id) { | if (hitArea.id == triggerData.id) { | ||
var trigger = { area: hitArea.name, gesture: triggerData.actionType }; | |||
trigger.expressions = [ ]; | trigger.expressions = [ ]; | ||
for ( | for (var action of triggerData.action) { | ||
if (l2d_config.motions[action] != null) { | if (l2d_config.motions[action] != null) { | ||
trigger.motion = action; | trigger.motion = action; | ||
} else { | } else { | ||
for ( | for (var exp of l2d_config.expressions) | ||
if (exp.name == action) | if (exp.name == action) | ||
trigger.expressions.push(exp.name); | trigger.expressions.push(exp.name); | ||
| 第156行: | 第166行: | ||
var y = transformViewY(event.clientY - rect.top); | var y = transformViewY(event.clientY - rect.top); | ||
l2d_dragMgr.setPoint(x, y); | l2d_dragMgr.setPoint(x, y - l2d_eyeY); | ||
l2d_dragging = true; | l2d_dragging = true; | ||
l2d_dragging = true; | l2d_dragging = true; | ||
for ( | for (var trigger of l2d_triggers) { | ||
if (l2d_model.hitTest(trigger.area, x * 1.5, y)) { | if (l2d_model.hitTest(trigger.area, x * 1.5, y)) { | ||
l2d_curTrigger = trigger; | l2d_curTrigger = trigger; | ||
| 第181行: | 第191行: | ||
if (l2d_dragging) { | if (l2d_dragging) { | ||
l2d_dragMgr.setPoint(x, y); | l2d_dragMgr.setPoint(x, y - l2d_eyeY); | ||
if (l2d_strokeStart != null) { | if (l2d_strokeStart != null) { | ||
2016年10月8日 (六) 00:27的最新版本
WIP