Frontend for viewing Dungeon Defender layouts
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

index.html 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Dungeon Defenders Viewer</title>
  5. <script src="res/js/jquery-1.7.1.min.js" type="text/javascript"></script>
  6. <script src="res/js/jquery-ui-1.8.17.custom.min.js" type="text/javascript"></script>
  7. <script src="res/data/levels.js" type="text/javascript"></script>
  8. <script src="res/data/towers.js" type="text/javascript"></script>
  9. <script src="res/data/layout.js" type="text/javascript"></script>
  10. <script type="text/javascript">
  11. $(function() {
  12. $.fn.rotate = function(rot) {
  13. return this.css('-webkit-transform', 'rotate(' + rot + 'deg)')
  14. .css('-moz-transform', 'rotate(' + rot + 'deg');
  15. };
  16. function createElForTower(type) {
  17. return $('<img>')
  18. .attr('src', type.image)
  19. .attr('alt', type.name)
  20. .addClass('tower');
  21. }
  22. function adjustMapOffset(towerOffset, level) {
  23. var res = $.extend({}, towerOffset);
  24. if (level.offsets) {
  25. res.left += level.offsets.left;
  26. res.top += level.offsets.top;
  27. }
  28. if (level.scale) {
  29. res.left *= level.scale.left;
  30. res.top *= level.scale.top;
  31. }
  32. return res;
  33. }
  34. $.each(towers, function() {
  35. createElForTower(this)
  36. .appendTo($('#palette'));
  37. });
  38. $('.tower,.core').draggable({
  39. helper: 'clone',
  40. containment: 'window',
  41. stop: function(evt, ui) {
  42. $(this).clone()
  43. .draggable()
  44. .css('position', 'absolute')
  45. .offset(ui.helper.offset())
  46. .appendTo(document.body);
  47. }
  48. });
  49. $.each(layout.towers, function() {
  50. createElForTower(towers[this.type])
  51. .draggable()
  52. .css('position', 'absolute')
  53. .offset(adjustMapOffset(this.position, levels[layout.level - 1]))
  54. .rotate(this.rotation)
  55. .appendTo($('#palette'));
  56. });
  57. });
  58. </script>
  59. <style type="text/css">
  60. .tower { width: 40px; height: 40px; }
  61. </style>
  62. </head>
  63. <body>
  64. <img src="res/images/minimaps/TheSpires.png" alt="Minimap" id="map">
  65. <img src="res/images/coreIcon.png" alt="core" class="core">
  66. <div id="palette">
  67. </div>
  68. </body>
  69. </html>