diff --git a/index.html b/index.html
index 43754cf..1d2076b 100644
--- a/index.html
+++ b/index.html
@@ -8,6 +8,7 @@
html, body {
margin: 0;
padding: 0;
+ overflow: hidden;
}
body {
diff --git a/игра/109.управление.js b/игра/109.управление.js
index 2eafd02..c50f60e 100644
--- a/игра/109.управление.js
+++ b/игра/109.управление.js
@@ -5,9 +5,10 @@
*/
-НастроитьМышь = мир =>
+НастроитьМышьИКлаву = мир =>
{
мир.сцена.input.mouse.disableContextMenu();
+ мир.клавиши = мир.сцена.input.keyboard.createCursorKeys();
};
@@ -41,7 +42,74 @@
// // // //
-УведомитьОбУправлении = мир =>
+УведомитьОКлаве = мир =>
+{
+ var новое = {
+ "направление": 0,
+ "прыжок": false,
+ };
+ if (мир.клавиши.left.isDown)
+ {
+ новое.направление = -1;
+ }
+ else if (мир.клавиши.right.isDown)
+ {
+ новое.направление = 1;
+ }
+ if (мир.клавиши.space.isDown)
+ {
+ новое.прыжок = true;
+ }
+ if (
+ мир.клава &&
+ мир.клава.направление == новое.направление &&
+ мир.клава.прыжок == новое.прыжок
+ ) {
+ // Ничего не делаем.
+ }
+ else
+ {
+ мир.клава = новое;
+ мир.уведомить("изменили клаву");
+ }
+};
+
+// // // //
+
+
+УведомитьОбУправленииКлавой = мир =>
+{
+ const естьДвижение = (мир.клава.направление != 0 || мир.клава.прыжок);
+ // Начало движения.
+ if (!мир.управление && естьДвижение)
+ {
+ мир.управление = мир.клава;
+ мир.уведомить("изменили управление");
+ }
+ // Окончание движения.
+ else if (мир.управление && !естьДвижение)
+ {
+ мир.управление = null;
+ мир.уведомить("изменили управление");
+ }
+ // Продолжение движения.
+ else if (
+ (мир.управление && естьДвижение) &&
+ (
+ (мир.управление.направление != мир.клава.направление) ||
+ (мир.управление.прыжок != мир.клава.прыжок)
+ )
+ ) {
+ мир.управление = мир.клава;
+ мир.уведомить("изменили управление");
+ }
+};
+
+
+// // // //
+
+
+УведомитьОбУправленииМышью = мир =>
{
const камера = мир.сцена.cameras.main;
const ширина = камера.width;
@@ -95,10 +163,13 @@
мир.разобрать(`
создать сцену
- настроить мышь
+ настроить мышь и клаву
обновить сцену
+ уведомить о клаве
уведомить о мыши
изменили мышь
- уведомить об управлении
+ уведомить об управлении мышью
+изменили клаву
+ уведомить об управлении клавой
`);