Колобок на Phaser
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

128 lines
2.9KB

  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: 470,
  70. ширина: 65,
  71. },
  72. ];
  73. for (var номер in печь)
  74. {
  75. var часть = печь[номер];
  76. var элемент = мир.платформы.create(часть.x, часть.y, "основа").setOrigin(0, 0);
  77. элемент.setScale(часть.ширина, 1).refreshBody();
  78. //элемент.setVisible(false);
  79. }
  80. };
  81. // // // //
  82. ПозволитьПлатформамПропускатьПрыжки = мир =>
  83. {
  84. мир.платформы.children.iterate(function(платформа) {
  85. платформа.body.checkCollision.down = false;
  86. платформа.body.checkCollision.left = false;
  87. платформа.body.checkCollision.right = false;
  88. });
  89. };
  90. /*
  91. *
  92. * Последовательность
  93. *
  94. */
  95. мир.разобрать(`
  96. загрузить ресурсы сцены
  97. загрузить ресурсы избы
  98. создать сцену
  99. создать избу
  100. создать полы и стены каркаса
  101. создать платформы
  102. позволить платформам пропускать прыжки
  103. `);