some
This commit is contained in:
59
130.изображения.js
Normal file
59
130.изображения.js
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
function Изображения(корень)
|
||||||
|
{
|
||||||
|
this.создать = function()
|
||||||
|
{
|
||||||
|
this.умолчание = {
|
||||||
|
x: 0,
|
||||||
|
y: 0,
|
||||||
|
ширина: 100,
|
||||||
|
высота: 100,
|
||||||
|
угол: 0,
|
||||||
|
};
|
||||||
|
this.задано = {};
|
||||||
|
this.элементы = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
this.обработатьКлюч = function(ключ, путь, значение)
|
||||||
|
{
|
||||||
|
var имя = путь[1];
|
||||||
|
var свойство = путь.slice(2).join(".");
|
||||||
|
|
||||||
|
if (!this.задано[имя])
|
||||||
|
{
|
||||||
|
this.задано[имя] = {};
|
||||||
|
}
|
||||||
|
this.задано[имя][свойство] = значение;
|
||||||
|
this.обновитьЭлемент(имя);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.создатьИлиПолучитьЭлемент = function(имя)
|
||||||
|
{
|
||||||
|
var эл = this.элементы[имя];
|
||||||
|
if (эл)
|
||||||
|
{
|
||||||
|
return эл;
|
||||||
|
}
|
||||||
|
|
||||||
|
var ум = this.умолчание;
|
||||||
|
эл = document.createElement("div");
|
||||||
|
эл.id = `изображения-${имя}`;
|
||||||
|
эл.style.position = "absolute";
|
||||||
|
эл.style.display = "block";
|
||||||
|
// Свойства по умолчанию.
|
||||||
|
эл.style.width = `${ум.ширина}px`;
|
||||||
|
эл.style.height = `${ум.высота}px`;
|
||||||
|
эл.style.transform = `translate(${ум.x}px, ${ум.y}px) rotate(${ум.угол}rad)`;
|
||||||
|
this.элементы[имя] = эл;
|
||||||
|
корень.appendChild(эл);
|
||||||
|
return эл;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.обновитьЭлемент = function(имя)
|
||||||
|
{
|
||||||
|
var эл = this.создатьИлиПолучитьЭлемент(имя);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// Конструктор.
|
||||||
|
this.создать();
|
||||||
|
}
|
||||||
@@ -1,56 +1,3 @@
|
|||||||
/*
|
|
||||||
function Объекты(ключники) {
|
|
||||||
this.создать = function() {
|
|
||||||
this.умолчание = {
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
ширина: 40,
|
|
||||||
высота: 20,
|
|
||||||
физика: {
|
|
||||||
isStatic: true,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
this.задано = {};
|
|
||||||
this.тела: {},
|
|
||||||
this.имена: {},
|
|
||||||
this.элементы: {},
|
|
||||||
this.свойстваТела: ["x", "y", "ширина", "высота", "физика"],
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.задано = {};
|
|
||||||
this.аудио = {};
|
|
||||||
var тут = this;
|
|
||||||
ключники.push(function(ключ, путь, значение) {
|
|
||||||
тут.обработатьКлюч(ключ, путь, значение);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
this.обработатьКлюч = function(ключ, путь, значение) {
|
|
||||||
if (!путь[0].startsWith("звуки"))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var имя = путь[1];
|
|
||||||
var свойство = путь.slice(2).join(".");
|
|
||||||
|
|
||||||
if (!this.задано[имя])
|
|
||||||
{
|
|
||||||
this.задано[имя] = {};
|
|
||||||
}
|
|
||||||
this.задано[имя][свойство] = значение;
|
|
||||||
};
|
|
||||||
|
|
||||||
// Конструктор.
|
|
||||||
this.создать();
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
мир.объекты = {
|
мир.объекты = {
|
||||||
умолчание: {
|
умолчание: {
|
||||||
x: 0,
|
x: 0,
|
||||||
|
|||||||
14
700.пуск.js
14
700.пуск.js
@@ -2,15 +2,29 @@ function Пуск()
|
|||||||
{
|
{
|
||||||
this.запустить = function()
|
this.запустить = function()
|
||||||
{
|
{
|
||||||
|
var корень = document.getElementById("корень");
|
||||||
|
мир.изображения = new Изображения(корень);
|
||||||
мир.физика.создать();
|
мир.физика.создать();
|
||||||
мир.столкновения.создать();
|
мир.столкновения.создать();
|
||||||
мир.звуки = new Звуки(мир.ключники, мир.события);
|
мир.звуки = new Звуки(мир.ключники, мир.события);
|
||||||
мир.движение = new Движение(мир.ключники);
|
мир.движение = new Движение(мир.ключники);
|
||||||
/**/мир.ограничитель = new Ограничитель();
|
/**/мир.ограничитель = new Ограничитель();
|
||||||
/**/мир.рт = new РучноеТело(мир.события);
|
/**/мир.рт = new РучноеТело(мир.события);
|
||||||
|
|
||||||
|
this.настроитьОбработкуКлючей();
|
||||||
this.обновить();
|
this.обновить();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.настроитьОбработкуКлючей = function()
|
||||||
|
{
|
||||||
|
мир.ключники.push(function(ключ, путь, значение) {
|
||||||
|
if (путь[0] == "изображения1")
|
||||||
|
{
|
||||||
|
мир.изображения.обработатьКлюч(ключ, путь, значение);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
this.обновить = function()
|
this.обновить = function()
|
||||||
{
|
{
|
||||||
/**/мир.ограничитель.обновить();
|
/**/мир.ограничитель.обновить();
|
||||||
|
|||||||
@@ -69,6 +69,7 @@
|
|||||||
<script src="100.мир.js"></script>
|
<script src="100.мир.js"></script>
|
||||||
<script src="105.заголовок.js"></script>
|
<script src="105.заголовок.js"></script>
|
||||||
<script src="120.физика.js"></script>
|
<script src="120.физика.js"></script>
|
||||||
|
<script src="130.изображения.js"></script>
|
||||||
<script src="140.изображения.js"></script>
|
<script src="140.изображения.js"></script>
|
||||||
<!--
|
<!--
|
||||||
<script src="150.тела.js"></script>
|
<script src="150.тела.js"></script>
|
||||||
|
|||||||
Reference in New Issue
Block a user