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,
настройки: {
enableSleeping: true,
enableSleeping: false,
},
создать: function() {
мир.физика.движок = Matter.Engine.create(мир.физика.настройки);


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

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


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

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) {
console.debug("keydown", o);
//console.debug("keydown", o);
var действие = мир.клавиши.действия[o.key];
if (действие)
{
мир.действия.исполнить(действие);
}
});

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


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

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