@@ -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], | |||||
}, | }, | ||||
}, | }, | ||||
}); | }); |