Zombs.io Zoom

Zoom

  1. // ==UserScript==
  2. // @name Zombs.io Zoom
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.2
  5. // @description Zoom
  6. // @author Apex
  7. // @match *://zombs.io/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. let dimension = 1;
  12.  
  13. const onWindowResize = () => {
  14. const renderer = Game.currentGame.renderer;
  15. let canvasWidth = window.innerWidth * window.devicePixelRatio;
  16. let canvasHeight = window.innerHeight * window.devicePixelRatio;
  17. let ratio = Math.max(canvasWidth / (1920 * dimension), canvasHeight / (1080 * dimension));
  18. renderer.scale = ratio;
  19. renderer.entities.setScale(ratio);
  20. renderer.ui.setScale(ratio);
  21. renderer.renderer.resize(canvasWidth, canvasHeight);
  22. renderer.viewport.width = renderer.renderer.width / renderer.scale + 2 * renderer.viewportPadding;
  23. renderer.viewport.height = renderer.renderer.height / renderer.scale + 2 * renderer.viewportPadding;
  24. }
  25.  
  26. onWindowResize();
  27.  
  28. window.onresize = onWindowResize;
  29.  
  30. window.onwheel = e => {
  31. if (e.deltaY > 0) {
  32. dimension = Math.min(1.35, dimension + 0.01);
  33. onWindowResize();
  34. } else if (e.deltaY < 0) {
  35. dimension = Math.max(0.1, dimension - 0.01);
  36. onWindowResize();
  37. }
  38. }