|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- мир.действия = {
- задано: {},
- исполнить: исполнитьДействие,
- };
-
-
- // // // //
-
-
- мир.ключники.push(function(ключ, путь, значение){
- if (!ключ.startsWith("действия"))
- {
- return;
- }
-
- var имя = путь[1];
-
- if (!(имя in мир.действия.задано))
- {
- мир.действия.задано[имя] = {};
- }
-
- var свойство = путь.slice(2).join(".");
- мир.действия.задано[имя][свойство] = значение;
- });
-
-
- // // // //
-
- function исполнитьДействие(имя)
- {
- var действие = мир.действия.задано[имя];
- if (!действие)
- {
- return;
- }
- var объект = мир.действия.задано[имя]["объект"];
- var скоростьX = мир.действия.задано[имя]["скорость.0"];
- var скоростьY = мир.действия.задано[имя]["скорость.1"];
- if (
- объект &&
- (скоростьX != null) &&
- (скоростьY != null)
- ) {
- console.debug("исполнить действие", имя, объект, скоростьX, скоростьY);
- var тело = мир.объекты.тела[объект];
- var скорость = {
- x: скоростьX + тело.velocity.x,
- y: скоростьY + тело.velocity.y,
- };
- Matter.Body.setVelocity(тело, скорость);
- }
- };
|