Browse Source

почти движение

master
parent
commit
f19ce56969
4 changed files with 42 additions and 8 deletions
  1. +1
    -1
      00120.физика.js
  2. +28
    -2
      00135.действия.js
  3. +10
    -4
      00140.клавиши.js
  4. +3
    -1
      01300.пример.json.js

+ 1
- 1
00120.физика.js View File

@@ -1,7 +1,7 @@
мир.физика = { мир.физика = {
движок: null, движок: null,
настройки: { настройки: {
enableSleeping: true,
enableSleeping: false,
}, },
создать: function() { создать: function() {
мир.физика.движок = Matter.Engine.create(мир.физика.настройки); мир.физика.движок = Matter.Engine.create(мир.физика.настройки);


+ 28
- 2
00135.действия.js View File

@@ -1,5 +1,6 @@
мир.действия = { мир.действия = {
задано: {}, задано: {},
исполнить: исполнитьДействие,
}; };




@@ -21,6 +22,31 @@


var свойство = путь.slice(2).join("."); var свойство = путь.slice(2).join(".");
мир.действия.задано[имя][свойство] = значение; мир.действия.задано[имя][свойство] = значение;

console.debug("действия путь, имя/свойство/значение", путь, имя, свойство, значение);
}); });


// // // //

function исполнитьДействие(имя)
{
var действие = мир.действия.задано[имя];
if (!действие)
{
return;
}
var объект = мир.действия.задано[имя]["объект"];
var скоростьX = мир.действия.задано[имя]["скорость.0"];
var скоростьY = мир.действия.задано[имя]["скорость.1"];
if (
объект &&
(скоростьX != null) &&
(скоростьY != null)
) {
console.debug("исполнить действие", имя, объект, скоростьX, скоростьY);
var скорость = {
x: скоростьX,
y: скоростьY,
};
Matter.Body.setVelocity(мир.объекты.тела[объект], скорость);
}
};

+ 10
- 4
00140.клавиши.js View File

@@ -1,11 +1,18 @@
мир.клавиши = { мир.клавиши = {
действия: {},
}; };


window.addEventListener("keydown", function(o) { window.addEventListener("keydown", function(o) {
console.debug("keydown", o);
//console.debug("keydown", o);
var действие = мир.клавиши.действия[o.key];
if (действие)
{
мир.действия.исполнить(действие);
}
}); });

window.addEventListener("keyup", function(o) { window.addEventListener("keyup", function(o) {
console.debug("keyup", o);
//console.debug("keyup", o);
}); });




@@ -19,8 +26,7 @@ console.debug("keyup", o);
} }


var имя = путь[1]; var имя = путь[1];

console.debug("клавиша/действие", имя, значение);
мир.клавиши.действия[имя] = значение;
}); });





+ 3
- 1
01300.пример.json.js View File

@@ -28,13 +28,15 @@
действия: { действия: {
колобокВлево: { колобокВлево: {
объект: "колобок", объект: "колобок",
скорость: [-10, 0],
скорость: [-2, 0],
}, },
колобокВправо: { колобокВправо: {
объект: "колобок", объект: "колобок",
скорость: [2, 0],
}, },
колобокВверх: { колобокВверх: {
объект: "колобок", объект: "колобок",
скорость: [0, -5],
}, },
}, },
}); });

Loading…
Cancel
Save