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

61 lines
1.6KB

  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. if (д.функция)
  28. {
  29. д.функция(д.объект);
  30. }
  31. /*
  32. var скоростьX = мир.действия.задано[имя]["скорость.0"];
  33. var скоростьY = мир.действия.задано[имя]["скорость.1"];
  34. if (
  35. объект &&
  36. (скоростьX != null) &&
  37. (скоростьY != null)
  38. ) {
  39. console.debug("исполнить действие", имя, объект, скоростьX, скоростьY);
  40. var тело = мир.объекты.тела[объект];
  41. var скорость = {
  42. x: скоростьX + тело.velocity.x,
  43. y: скоростьY + тело.velocity.y,
  44. };
  45. Matter.Body.setVelocity(тело, скорость);
  46. }
  47. */
  48. };