Колобок на Phaser
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

168 lines
3.6KB

  1. /*
  2. *
  3. * Реакции
  4. *
  5. */
  6. ЗагрузитьРесурсыИзбы = мир =>
  7. {
  8. мир.сцена.load.image("изба", "ресурсы/сцены/изба.jpg");
  9. мир.сцена.load.image("основа", "ресурсы/отладка/основа.jpg");
  10. };
  11. // // // //
  12. СоздатьИзбу = мир =>
  13. {
  14. мир.сцена.add.image(0, 0, "изба").setOrigin(0, 0);
  15. };
  16. // // // //
  17. СоздатьПолыИСтеныКаркаса = мир =>
  18. {
  19. var полы = [
  20. {
  21. x: 0,
  22. y: 585,
  23. ширина: 43,
  24. },
  25. {
  26. x: 300,
  27. y: 585,
  28. ширина: 30,
  29. },
  30. {
  31. x: 510,
  32. y: 585,
  33. ширина: 200,
  34. },
  35. ];
  36. for (var номер in полы)
  37. {
  38. var пол = полы[номер];
  39. var элемент = мир.каркас.create(пол.x, пол.y, "основа").setOrigin(0, 0);
  40. элемент.setScale(пол.ширина, 1).refreshBody();
  41. элемент.setVisible(false);
  42. }
  43. var стены = [
  44. {
  45. x: 0,
  46. y: 385,
  47. высота: 50,
  48. },
  49. {
  50. x: 2000,
  51. y: 385,
  52. высота: 50,
  53. },
  54. ];
  55. for (var номер in стены)
  56. {
  57. var стена = стены[номер];
  58. var элемент = мир.каркас.create(стена.x, стена.y, "основа");
  59. элемент.setScale(1, стена.высота).refreshBody();
  60. элемент.setVisible(false);
  61. }
  62. };
  63. // // // //
  64. СоздатьПлатформы = мир =>
  65. {
  66. var п = [
  67. {
  68. x: 583,
  69. y: 473,
  70. ширина: 65,
  71. },
  72. {
  73. x: 665,
  74. y: 340,
  75. ширина: 1,
  76. },
  77. {
  78. x: 770,
  79. y: 340,
  80. ширина: 1,
  81. },
  82. {
  83. x: 860,
  84. y: 340,
  85. ширина: 1,
  86. },
  87. {
  88. x: 1005,
  89. y: 355,
  90. ширина: 1,
  91. },
  92. {
  93. x: 620,
  94. y: 245,
  95. ширина: 35,
  96. },
  97. {
  98. x: 950,
  99. y: 180,
  100. ширина: 12,
  101. },
  102. {
  103. x: 1270,
  104. y: 427,
  105. ширина: 70,
  106. },
  107. {
  108. x: 1690,
  109. y: 375,
  110. ширина: 20,
  111. },
  112. ];
  113. for (var номер in п)
  114. {
  115. var часть = п[номер];
  116. var элемент = мир.платформы.create(часть.x, часть.y, "основа").setOrigin(0, 0);
  117. элемент.setScale(часть.ширина, 1).refreshBody();
  118. //элемент.setVisible(false);
  119. }
  120. };
  121. // // // //
  122. ПозволитьПлатформамПропускатьПрыжки = мир =>
  123. {
  124. мир.платформы.children.iterate(function(платформа) {
  125. платформа.body.checkCollision.down = false;
  126. платформа.body.checkCollision.left = false;
  127. платформа.body.checkCollision.right = false;
  128. });
  129. };
  130. /*
  131. *
  132. * Последовательность
  133. *
  134. */
  135. мир.разобрать(`
  136. загрузить ресурсы сцены
  137. загрузить ресурсы избы
  138. создать сцену
  139. создать избу
  140. создать полы и стены каркаса
  141. создать платформы
  142. позволить платформам пропускать прыжки
  143. `);