почти движение
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
мир.физика = {
|
мир.физика = {
|
||||||
движок: null,
|
движок: null,
|
||||||
настройки: {
|
настройки: {
|
||||||
enableSleeping: true,
|
enableSleeping: false,
|
||||||
},
|
},
|
||||||
создать: function() {
|
создать: function() {
|
||||||
мир.физика.движок = Matter.Engine.create(мир.физика.настройки);
|
мир.физика.движок = Matter.Engine.create(мир.физика.настройки);
|
||||||
|
|||||||
@@ -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(мир.объекты.тела[объект], скорость);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|||||||
@@ -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("клавиша/действие", имя, значение);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -28,13 +28,15 @@
|
|||||||
действия: {
|
действия: {
|
||||||
колобокВлево: {
|
колобокВлево: {
|
||||||
объект: "колобок",
|
объект: "колобок",
|
||||||
скорость: [-10, 0],
|
скорость: [-2, 0],
|
||||||
},
|
},
|
||||||
колобокВправо: {
|
колобокВправо: {
|
||||||
объект: "колобок",
|
объект: "колобок",
|
||||||
|
скорость: [2, 0],
|
||||||
},
|
},
|
||||||
колобокВверх: {
|
колобокВверх: {
|
||||||
объект: "колобок",
|
объект: "колобок",
|
||||||
|
скорость: [0, -5],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user