Spritecow显示坐标

输出当前鼠标位置相对于选中的精灵图中心点的坐标值

  1. // ==UserScript==
  2. // @name Spritecow显示坐标
  3. // @namespace Siner
  4. // @version 1.2
  5. // @description 输出当前鼠标位置相对于选中的精灵图中心点的坐标值
  6. // @author Siner
  7. // @match *://*/*
  8. // @license Siner
  9. // @match *spritecow.com/*
  10. // @icon http://www.spritecow.com/assets/9/favicon.ico
  11. // @grant none
  12. // ==/UserScript==
  13.  
  14. (function() {
  15. 'use strict';
  16. //添加输出区域
  17. document.getElementsByClassName("toolbar bottom")[0].innerHTML += "<div class='toolbar-group'><div role='button' class='invert-bg' id='SourcerectDiv'><font style='vertical-align: inherit;'><font style='vertical-align: inherit;'>Sourcerect:<span id='Sourcerect'></span></font></font></div><div role='button' class='invert-bg'><font style='vertical-align: inherit;'><font style='vertical-align: inherit;'>Handle:<span id='Handle'></span></font></font></div></div>";
  18. document.getElementsByClassName("toolbar bottom")[0].innerHTML += "<div role='button' class='select-sprite active'>点击Sourcerect可复制值</div>";
  19. //初始化变量:
  20. var Sourcerect = "";
  21. var Handle = "";
  22. //鼠标移动事件,计算Handle位置
  23. function mouseMove(ev) {
  24. ev = ev || window.event;
  25. var highlight = document.getElementsByClassName("highlight")[0];
  26. var mousePos = mouseXY(ev);
  27. //计算大小
  28. var x = Number(highlight.style.width.substr(0,highlight.style.width.length - 2)) / 2 + Number(highlight.style.left.substr(0,highlight.style.left.length - 2)) + 20;
  29. var y = Number(highlight.style.height.substr(0,highlight.style.height.length - 2)) / 2 + Number(highlight.style.top.substr(0,highlight.style.top.length - 2)) + 60;
  30. Handle = Math.round(mousePos.x - x) + "," + Math.round((mousePos.y - y) * -1);
  31. document.getElementById('Handle').innerHTML = Handle;
  32. }
  33. //鼠标点击事件,计算Sourcerect位置
  34. function mouseClick(ev) {
  35. setTimeout(function () {
  36. var highlight = document.getElementsByClassName("highlight")[0];
  37. Sourcerect = highlight.style.left + "," + highlight.style.top + "," + highlight.style.width + "," + highlight.style.height;
  38. Sourcerect = Sourcerect == ",,," || highlight.style.width =="0px" ? "None":Sourcerect.replace(/px/g,'');
  39. document.getElementById('Sourcerect').innerHTML = Sourcerect;
  40. }, 100)
  41. }
  42. //获取鼠标位置
  43. function mouseXY(ev) {
  44. if (ev.pageX || ev.pageY) {
  45. return { x: ev.pageX, y: ev.pageY };
  46. }
  47. return {
  48. x: ev.clientX + document.body.scrollLeft - document.body.clientLeft,
  49. y: ev.clientY + document.body.scrollTop - document.body.clientTop
  50. };
  51. }
  52.  
  53. function copy (text) {
  54. const el = document.createElement('input')
  55. el.setAttribute('value', text)
  56. document.body.appendChild(el)
  57. el.select()
  58. if (document.execCommand('copy')){
  59. document.body.removeChild(el);
  60. //alert('复制成功,Sourcerect值为:' + text);
  61. }else{
  62. document.body.removeChild(el);
  63. //alert('复制失败,已被浏览器阻止,请手动填写Sourcerect值:' + text);
  64. }
  65.  
  66. }
  67. //注册(不可用)点击事件
  68. document.onmousemove = mouseMove;
  69. document.getElementsByClassName("sprite-canvas-container")[0].onclick = mouseClick;
  70. //document.onclick = mouseClick;
  71. document.getElementById('SourcerectDiv').onclick = function copySourcerect() {copy(Sourcerect);};
  72. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址