@@ -29,14 +29,14 @@ | |||||
//var свойство = путь.slice(2).join("."); | //var свойство = путь.slice(2).join("."); | ||||
var свойство = путь[2]; | var свойство = путь[2]; | ||||
мир.изображения.задано[имя][свойство] = значение; | мир.изображения.задано[имя][свойство] = значение; | ||||
обновитьИзображение(путь, имя, свойство, значение); | |||||
мир.изображения.обновить(путь, имя, свойство, значение); | |||||
}); | }); | ||||
// // // // | // // // // | ||||
function обновитьИзображение(путь, имя, свойство, значение) | |||||
мир.изображения.обновить = function(путь, имя, свойство, значение) | |||||
{ | { | ||||
var за = мир.изображения.задано[имя]; | var за = мир.изображения.задано[имя]; | ||||
var ум = мир.изображения.умолчание; | var ум = мир.изображения.умолчание; | ||||
@@ -78,4 +78,4 @@ function обновитьИзображение(путь, имя, свойств | |||||
var параметр = путь[3]; | var параметр = путь[3]; | ||||
эл.style.setProperty(параметр, значение); | эл.style.setProperty(параметр, значение); | ||||
} | } | ||||
} | |||||
}; |
@@ -12,7 +12,6 @@ | |||||
тела: {}, | тела: {}, | ||||
элементы: {}, | элементы: {}, | ||||
свойстваТела: ["x", "y", "ширина", "высота", "физика"], | свойстваТела: ["x", "y", "ширина", "высота", "физика"], | ||||
обновить: обновитьОбъекты, | |||||
}; | }; | ||||
@@ -35,16 +34,16 @@ | |||||
var свойствоПуть = путь.slice(2).join("."); | var свойствоПуть = путь.slice(2).join("."); | ||||
мир.объекты.задано[имя][свойствоПуть] = значение; | мир.объекты.задано[имя][свойствоПуть] = значение; | ||||
пересоздатьТело(имя, свойство); | |||||
обновитьЭлемент(имя, свойство, значение); | |||||
обновитьВидЭлемента(путь, имя, свойство, значение); | |||||
мир.объекты.пересоздатьТело(имя, свойство); | |||||
мир.объекты.обновитьЭлемент(имя, свойство, значение); | |||||
мир.объекты.обновитьВидЭлемента(путь, имя, свойство, значение); | |||||
}); | }); | ||||
// // // // | // // // // | ||||
function обновитьОбъекты() | |||||
мир.объекты.обновить = function() | |||||
{ | { | ||||
for (var имя in мир.объекты.тела) | for (var имя in мир.объекты.тела) | ||||
{ | { | ||||
@@ -52,13 +51,13 @@ function обновитьОбъекты() | |||||
var элемент = мир.объекты.элементы[имя]; | var элемент = мир.объекты.элементы[имя]; | ||||
мир.синхронизироватьЭлементТело(элемент, тело); | мир.синхронизироватьЭлементТело(элемент, тело); | ||||
} | } | ||||
} | |||||
}; | |||||
// // // // | // // // // | ||||
function пересоздатьТело(имя, свойство) | |||||
мир.объекты.пересоздатьТело = function(имя, свойство) | |||||
{ | { | ||||
if (!мир.объекты.свойстваТела.includes(свойство)) | if (!мир.объекты.свойстваТела.includes(свойство)) | ||||
{ | { | ||||
@@ -93,14 +92,16 @@ function пересоздатьТело(имя, свойство) | |||||
} | } | ||||
} | } | ||||
console.debug("имя/физика", имя, физика); | |||||
var тело = Matter.Bodies.rectangle(x, y, ширина, высота, физика); | var тело = Matter.Bodies.rectangle(x, y, ширина, высота, физика); | ||||
Matter.Composite.add(мир.физика.движок.world, тело); | Matter.Composite.add(мир.физика.движок.world, тело); | ||||
мир.объекты.тела[имя] = тело; | мир.объекты.тела[имя] = тело; | ||||
} | |||||
}; | |||||
function обновитьЭлемент(имя, свойство, значение) | |||||
// // // // | |||||
мир.объекты.обновитьЭлемент = function(имя, свойство, значение) | |||||
{ | { | ||||
var за = мир.объекты.задано[имя]; | var за = мир.объекты.задано[имя]; | ||||
var ум = мир.объекты.умолчание; | var ум = мир.объекты.умолчание; | ||||
@@ -133,7 +134,11 @@ function обновитьЭлемент(имя, свойство, значени | |||||
} | } | ||||
} | } | ||||
function обновитьВидЭлемента(путь, имя, свойство, значение) | |||||
// // // // | |||||
мир.объекты.обновитьВидЭлемента = function(путь, имя, свойство, значение) | |||||
{ | { | ||||
if (свойство != "вид") | if (свойство != "вид") | ||||
{ | { | ||||
@@ -28,17 +28,17 @@ | |||||
window.addEventListener("keydown", function(o) { | window.addEventListener("keydown", function(o) { | ||||
обработатьКлавишу(o.key, true); | |||||
мир.ввод.обработатьКлавишу(o.key, true); | |||||
}); | }); | ||||
window.addEventListener("keyup", function(o) { | window.addEventListener("keyup", function(o) { | ||||
обработатьКлавишу(o.key, false); | |||||
мир.ввод.обработатьКлавишу(o.key, false); | |||||
}); | }); | ||||
// // // // | // // // // | ||||
function обработатьКлавишу(клавиша, нажата) | |||||
мир.ввод.обработатьКлавишу = function(клавиша, нажата) | |||||
{ | { | ||||
// Исключаем повторы. | // Исключаем повторы. | ||||
if (мир.ввод.клавиши[клавиша] == нажата) | if (мир.ввод.клавиши[клавиша] == нажата) | ||||
@@ -66,4 +66,4 @@ function обработатьКлавишу(клавиша, нажата) | |||||
мир.действия.исполнить(задано.действие); | мир.действия.исполнить(задано.действие); | ||||
} | } | ||||
} | } | ||||
} | |||||
}; |
@@ -106,24 +106,18 @@ | |||||
скорость: [5, 13], | скорость: [5, 13], | ||||
клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"], | клавиши: ["ArrowLeft", "ArrowRight", "ArrowUp"], | ||||
}, | }, | ||||
/* | |||||
камера: { | |||||
объект: "кирпич", | |||||
центрировать: 0.1, | |||||
}, | |||||
*/ | |||||
/* | |||||
слежения: { | |||||
камера: { | |||||
объект: "кирпич", | |||||
скорость: 0.1, | |||||
}, | |||||
слежение: { | |||||
колобок: { | колобок: { | ||||
объект: "кирпич", | объект: "кирпич", | ||||
изображение: "колобок", | изображение: "колобок", | ||||
смещение: [0, 0], | смещение: [0, 0], | ||||
скорость: 1, | скорость: 1, | ||||
}, | }, | ||||
/* | |||||
камера: { | |||||
объект: "кирпич", | |||||
скорость: 0.1, | |||||
}, | |||||
*/ | |||||
}, | }, | ||||
*/ | |||||
}); | }); |
@@ -36,6 +36,7 @@ | |||||
<script src="160.объекты.js"></script> | <script src="160.объекты.js"></script> | ||||
<script src="200.ввод.js"></script> | <script src="200.ввод.js"></script> | ||||
<script src="220.игрок.js"></script> | <script src="220.игрок.js"></script> | ||||
<script src="240.слежение.js"></script> | |||||
<script src="700.пуск.js"></script> | <script src="700.пуск.js"></script> | ||||
<script src="800.пример.json.js"></script> | <script src="800.пример.json.js"></script> | ||||
<script src="900.обновление.js"></script> | <script src="900.обновление.js"></script> | ||||