From 4b06096486f13711a47535c9e41fafe73be5b7fe Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sat, 26 Oct 2019 11:32:19 +0800 Subject: [PATCH] quickAppend --- _server/editor_datapanel.js | 34 +++++++++++++++++++++++++++++++++- editor-mobile.html | 1 + editor.html | 1 + 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/_server/editor_datapanel.js b/_server/editor_datapanel.js index 143eac68..5e1baa46 100644 --- a/_server/editor_datapanel.js +++ b/_server/editor_datapanel.js @@ -654,11 +654,43 @@ editor_datapanel_wrapper = function (editor) { printe(err); throw (err) } - printe('追加素材成功,请F5刷新编辑器,或继续追加当前素材'); + printf('追加素材成功,你可以继续追加其他素材,最后再刷新以显示在素材区'); editor.dom.sprite.style.height = (editor.dom.sprite.height = (editor.dom.sprite.height + ysize)) + "px"; editor.dom.spriteCtx.putImageData(dt, 0, 0); }); } + + var quickAppendConfirm = document.getElementById('quickAppendConfirm'); + quickAppendConfirm.onclick = function () { + var value = editor.dom.selectAppend.value; + if (value != 'enemys' && value != 'enemy48' && value != 'npcs' && value != 'npc48') + return printe("只有怪物或NPC才能快速导入!"); + var ysize = value.endsWith('48') ? 48 : 32; + if (editor.dom.sourceCtx.canvas.width != 128 || editor.dom.sourceCtx.canvas.height != 4 * ysize) + return printe("只有 4*4 的素材图片才可以快速导入!"); + + var dt = editor.dom.spriteCtx.getImageData(0, 0, editor.dom.sprite.width, editor.dom.sprite.height); + editor.dom.sprite.style.height = (editor.dom.sprite.height = (editor.dom.sprite.height + 3 * ysize)) + "px"; + editor.dom.spriteCtx.putImageData(dt, 0, 0); + if (editor.dom.sprite.width == 64) { // 两帧 + editor.dom.spriteCtx.drawImage(editor.dom.sourceCtx.canvas, 32, 0, 64, 4 * ysize, 0, editor.dom.sprite.height - 4 * ysize, 64, 4 * ysize); + } else { // 四帧 + editor.dom.spriteCtx.drawImage(editor.dom.sourceCtx.canvas, 0, 0, 128, 4 * ysize, 0, editor.dom.sprite.height - 4 * ysize, 128, 4 * ysize); + } + + dt = editor.dom.spriteCtx.getImageData(0, 0, editor.dom.sprite.width, editor.dom.sprite.height); + var imgbase64 = editor.dom.sprite.toDataURL().split(',')[1]; + fs.writeFile('./project/images/' + editor_mode.appendPic.imageName + '.png', imgbase64, 'base64', function (err, data) { + if (err) { + printe(err); + throw (err) + } + printf('快速追加素材成功,你可以继续追加其他素材,最后再刷新以显示在素材区'); + editor.dom.sprite.style.height = (editor.dom.sprite.height = (editor.dom.sprite.height + ysize)) + "px"; + editor.dom.spriteCtx.putImageData(dt, 0, 0); + }); + + } } /////////////////////////////////////////////////////////////////////// diff --git a/editor-mobile.html b/editor-mobile.html index c059d451..28258889 100644 --- a/editor-mobile.html +++ b/editor-mobile.html @@ -76,6 +76,7 @@ +

色相: diff --git a/editor.html b/editor.html index b90c5625..929a3606 100644 --- a/editor.html +++ b/editor.html @@ -72,6 +72,7 @@ +

色相: