Колобок на 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.

95 lines
2.2KB

  1. /*
  2. *
  3. * Реакции
  4. *
  5. */
  6. ЗагрузитьРесурсыКолобка= мир =>
  7. {
  8. мир.сцена.load.image("колобок", "ресурсы/колобок/колобок_неподвижен.png");
  9. };
  10. // // // //
  11. СоздатьКаркасИПлатформы = мир =>
  12. {
  13. мир.каркас = мир.сцена.physics.add.staticGroup();
  14. мир.платформы = мир.сцена.physics.add.staticGroup();
  15. };
  16. // // // //
  17. СоздатьКолобка = мир =>
  18. {
  19. мир.колобок = мир.сцена.physics.add.sprite(100, 100, "колобок");
  20. мир.колобок.depth = 10;
  21. // Следить за колобком камерой.
  22. const камера = мир.сцена.cameras.main;
  23. камера.startFollow(мир.колобок, false, 0.1, 0.1);
  24. };
  25. // // // //
  26. СоздатьСтолкновениеКолобкаСКаркасомИПлатформами = мир =>
  27. {
  28. мир.сцена.physics.add.collider(мир.колобок, мир.каркас);
  29. мир.столкновениеПлатформы = мир.сцена.physics.add.collider(мир.колобок, мир.платформы);
  30. };
  31. // // // //
  32. ПереместитьКолобка = мир =>
  33. {
  34. if (!мир.управление)
  35. {
  36. мир.колобок.setVelocityX(0);
  37. return;
  38. }
  39. var x = 0;
  40. if (мир.управление.направление == -1)
  41. {
  42. x = -200;
  43. }
  44. else if (мир.управление.направление == 1)
  45. {
  46. x = 200;
  47. }
  48. мир.колобок.setVelocityX(x);
  49. if (мир.управление.прыжок && мир.колобок.body.touching.down)
  50. {
  51. мир.колобок.setVelocityY(-570);
  52. }
  53. };
  54. /*
  55. *
  56. * Последовательность
  57. *
  58. */
  59. мир.разобрать(`
  60. загрузить ресурсы сцены
  61. загрузить ресурсы колобка
  62. создать сцену
  63. создать каркас и платформы
  64. создать колобка
  65. создать столкновение колобка с каркасом и платформами
  66. изменили управление
  67. переместить колобка
  68. `);