diff --git a/00150.игрок.js b/00150.игрок.js
new file mode 100644
index 0000000..0a17d2e
--- /dev/null
+++ b/00150.игрок.js
@@ -0,0 +1,34 @@
+мир.игрок = {
+ задано: {},
+ обновить: обновитьИгрока,
+};
+
+// // // //
+
+
+мир.ключники.push(function(ключ, путь, значение){
+ if (!ключ.startsWith("игрок"))
+ {
+ return;
+ }
+
+ var свойство = путь.slice(1).join(".");
+ мир.игрок.задано[свойство] = значение;
+});
+
+
+// // // //
+
+
+function обновитьИгрока()
+{
+ var к = [
+ мир.игрок.задано["клавиши.0"],
+ мир.игрок.задано["клавиши.1"],
+ мир.игрок.задано["клавиши.2"],
+ ];
+ var влево = (мир.ввод.клавиши[к[0]] == true);
+ var вправо = (мир.ввод.клавиши[к[1]] == true);
+ var вверх = (мир.ввод.клавиши[к[2]] == true);
+console.debug("игрок. влево/вправо/вверх", влево, вправо, вверх);
+}
diff --git a/01000.пуск.js b/01000.пуск.js
index b581899..89e67a7 100644
--- a/01000.пуск.js
+++ b/01000.пуск.js
@@ -2,6 +2,7 @@
{
мир.физика.обновить();
мир.объекты.обновить();
+ мир.игрок.обновить();
requestAnimationFrame(мир.обновить);
};
diff --git a/01300.пример.json.js b/01300.пример.json.js
index c59ac2d..c20c04b 100644
--- a/01300.пример.json.js
+++ b/01300.пример.json.js
@@ -20,17 +20,10 @@
},
},
},
- ввод: [
- {
- клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"],
- действие: "переместитьКолобка",
- },
- ],
- действия: {
- переместитьКолобка: {
- объект: "колобок",
- функция: переместитьПерсонажа,
- },
+ игрок: {
+ объект: "колобок",
+ скорость: 5,
+ клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"],
},
});
diff --git a/index.html b/index.html
index 4166a45..cd8735b 100644
--- a/index.html
+++ b/index.html
@@ -22,8 +22,8 @@
-
+