Проверить Matter.js
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.

53 lines
1.5KB

  1. мир.действия = {
  2. задано: {},
  3. исполнить: исполнитьДействие,
  4. };
  5. // // // //
  6. мир.ключники.push(function(ключ, путь, значение){
  7. if (!ключ.startsWith("действия"))
  8. {
  9. return;
  10. }
  11. var имя = путь[1];
  12. if (!(имя in мир.действия.задано))
  13. {
  14. мир.действия.задано[имя] = {};
  15. }
  16. var свойство = путь.slice(2).join(".");
  17. мир.действия.задано[имя][свойство] = значение;
  18. });
  19. // // // //
  20. function исполнитьДействие(имя)
  21. {
  22. var действие = мир.действия.задано[имя];
  23. if (!действие)
  24. {
  25. return;
  26. }
  27. var объект = мир.действия.задано[имя]["объект"];
  28. var скоростьX = мир.действия.задано[имя]["скорость.0"];
  29. var скоростьY = мир.действия.задано[имя]["скорость.1"];
  30. if (
  31. объект &&
  32. (скоростьX != null) &&
  33. (скоростьY != null)
  34. ) {
  35. console.debug("исполнить действие", имя, объект, скоростьX, скоростьY);
  36. var скорость = {
  37. x: скоростьX,
  38. y: скоростьY,
  39. };
  40. Matter.Body.setVelocity(мир.объекты.тела[объект], скорость);
  41. }
  42. };