/* * @Author: prpr * @Date: 2016-01-21 13:56:40 * @Last Modified by: prpr * @Last Modified time: 2016-02-07 10:25:41 */ 'use strict'; $('body').on('change', '#skininput', function(){ var files = $('#skininput').prop('files'); handleFiles(files, 'skin'); }); $('body').on('change', '#capeinput', function(){ var files = $('#capeinput').prop('files'); handleFiles(files, 'cape'); }); // Real-time preview function handleFiles(files, type) { if(files.length > 0) { var file = files[0]; if(file.type === "image/png") { var reader = new FileReader(); reader.onload = function (e) { var img = new Image(); img.onload = function () { if (this.width == this.height) { showMsg("alert-info", "提示:看起来你上传了一张双层皮肤,皮肤站本身是支持的,"+ "然而 3D 皮肤预览并不支持,所以不要在意变得奇怪的预览(笑)直接上传,"+ "就可以在 2D 预览中看到正确的双层皮肤啦。"); } if (type == "skin") { MSP.changeSkin(img.src); } else { MSP.changeCape(img.src); } }; img.onerror = function () { showMsg("alert-danger", "错误:这张图片编码不对哦"); }; img.src = this.result; }; reader.readAsDataURL(file); } else { showMsg("alert-danger", "错误:皮肤文件必须为 PNG 格式"); } } }; function init3dCanvas() { if ($(window).width() < 800) { var canvas = MSP.get3dSkinCanvas($('#skinpreview').width(), $('#skinpreview').width()); $("#skinpreview").append($(canvas).prop("id", "canvas3d")); } else { var canvas = MSP.get3dSkinCanvas(400, 400); $("#skinpreview").append($(canvas).prop("id", "canvas3d")); } } $(document).ready(init3dCanvas); // Auto resize canvas to fit responsive design $(window).resize(init3dCanvas); // Change 3D preview status $("[title='Movements']").click(function(){ MSP.setStatus("movements", !MSP.getStatus("movements")); }); $("[title='Running']").click(function(){ MSP.setStatus("running", !MSP.getStatus("running")); }); $("[title='Rotation']").click(function(){ MSP.setStatus("rotation", !MSP.getStatus("rotation")); }); function show2dPreview() { $('#canvas3d').remove(); $('.operations').hide(); $("#skinpreview").html($('
Steve 模型的皮肤:
').append($('Alex 模型的皮肤:
').append($('披风:
').append($('