demos.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. $(function () {
  2. window.onerror = function(message, url, lineNo) {
  3. alert("Error: " + message + "\n" + "URL:" + url + "\nLine: " + lineNo);
  4. }
  5. spineDemos.init();
  6. spineDemos.assetManager = new spine.SharedAssetManager("assets/");
  7. var demos = [
  8. spritesheetsDemo,
  9. imageChangesDemo,
  10. transitionsDemo,
  11. meshesDemo,
  12. skinsDemo,
  13. hoverboardDemo,
  14. vineDemo,
  15. clippingDemo,
  16. stretchymanDemo,
  17. tankDemo,
  18. transformsDemo,
  19. additiveBlendingDemo
  20. ];
  21. var placeholders = document.getElementsByClassName("aspect");
  22. for (var i = 0; i < demos.length; i++)
  23. spineDemos.addDemo(demos[i], placeholders[i]);
  24. function resizeSliders () {
  25. $(".slider").each(function () {
  26. $(this).data("slider").resized();
  27. });
  28. }
  29. function windowResized () {
  30. // Keep canvas from taking up whole screen.
  31. $(".aspect").each(function () {
  32. $(this).css("padding-bottom", Math.min(70.14, $(window).height() * 0.75 / $(this).width() * 100) + "%");
  33. });
  34. // Swap controls when media query puts text below canvas.
  35. var below = $("#below").is(':visible');
  36. $(".demo .description").each(function () {
  37. var description = $(this);
  38. var controls = description.children(".controls");
  39. if (below || description.hasClass("fullsize"))
  40. description.prepend(controls);
  41. else
  42. description.append(controls);
  43. });
  44. resizeSliders();
  45. }
  46. windowResized();
  47. $(window).resize(windowResized);
  48. $(".resize").click(function () {
  49. var resizeButton = $(this);
  50. var container = resizeButton.parent();
  51. var parent = container.parent();
  52. var overlayLabels = parent.find(".overlay-label");
  53. var description = parent.children(".description");
  54. var controls = description.children(".controls");
  55. container.toggleClass("fullsize");
  56. resizeButton.toggleClass("checked");
  57. var offset = parseFloat(overlayLabels.css("bottom"));
  58. description.toggleClass("fullsize");
  59. if (description.hasClass("fullsize")) {
  60. overlayLabels.css("bottom", offset * 1.666);
  61. } else {
  62. resizeSliders();
  63. overlayLabels.css("bottom", offset / 1.666);
  64. }
  65. setTimeout(function() {
  66. windowResized();
  67. }, 500);
  68. });
  69. $(".checkbox-overlay").change(function () {
  70. $(this).closest(".demo").find(".overlay").toggleClass("overlay-hide");
  71. });
  72. });