ввести Меню
This commit is contained in:
@@ -37,6 +37,7 @@
|
|||||||
<script src="игра/220.Мышь.js"></script>
|
<script src="игра/220.Мышь.js"></script>
|
||||||
<script src="игра/240.Столкновения.js"></script>
|
<script src="игра/240.Столкновения.js"></script>
|
||||||
<script src="игра/260.Подсказки.js"></script>
|
<script src="игра/260.Подсказки.js"></script>
|
||||||
|
<script src="игра/280.Меню.js"></script>
|
||||||
<script src="игра/700.Игра.js"></script>
|
<script src="игра/700.Игра.js"></script>
|
||||||
<script>
|
<script>
|
||||||
var игра = new Игра();
|
var игра = new Игра();
|
||||||
|
|||||||
@@ -5,6 +5,23 @@ function Подсказки()
|
|||||||
this.задано = {};
|
this.задано = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.задатьПодсказку = function(имя)
|
||||||
|
{
|
||||||
|
let за = this.задано[имя];
|
||||||
|
if (!за.элемент || !за.текст)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let элемент = document.getElementById(за.элемент);
|
||||||
|
if (!элемент)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
элемент.setAttribute("uk-tooltip", `pos: right; title: ${за.текст}`);
|
||||||
|
};
|
||||||
|
|
||||||
this.обработатьКлюч = function(ключ, путь, значение)
|
this.обработатьКлюч = function(ключ, путь, значение)
|
||||||
{
|
{
|
||||||
if (путь[0] != "подсказки")
|
if (путь[0] != "подсказки")
|
||||||
@@ -23,21 +40,17 @@ function Подсказки()
|
|||||||
this.задатьПодсказку(имя);
|
this.задатьПодсказку(имя);
|
||||||
};
|
};
|
||||||
|
|
||||||
this.задатьПодсказку = function(имя)
|
this.подсказкаДляЭлемента = function(элемент)
|
||||||
{
|
{
|
||||||
let за = this.задано[имя];
|
for (var имя in this.задано)
|
||||||
if (!за.элемент || !за.текст)
|
|
||||||
{
|
{
|
||||||
return;
|
let подсказка = this.задано[имя];
|
||||||
|
if (подсказка.элемент == элемент)
|
||||||
|
{
|
||||||
|
return имя;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
let элемент = document.getElementById(за.элемент);
|
|
||||||
if (!элемент)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
элемент.setAttribute("uk-tooltip", `pos: right; title: ${за.текст}`);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Конструктор.
|
// Конструктор.
|
||||||
|
|||||||
32
4.1/игра/280.Меню.js
Normal file
32
4.1/игра/280.Меню.js
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
function Меню(события, подсказки)
|
||||||
|
{
|
||||||
|
this.создать = function()
|
||||||
|
{
|
||||||
|
события.подписать(this);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.обработатьСобытие = function(событие)
|
||||||
|
{
|
||||||
|
let мышь = "мышь/нажатие/";
|
||||||
|
if (событие.startsWith(мышь))
|
||||||
|
{
|
||||||
|
let значения = событие.substring(мышь.length).split("/");
|
||||||
|
let элемент = значения[2];
|
||||||
|
let подсказка = подсказки.подсказкаДляЭлемента(элемент);
|
||||||
|
if (подсказка)
|
||||||
|
{
|
||||||
|
this.отобразитьМеню(подсказка);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.отобразитьМеню = function(подсказка)
|
||||||
|
{
|
||||||
|
|
||||||
|
/**/console.debug("ИГР Меню.отобразитьМ подсказка:", подсказка);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Конструктор.
|
||||||
|
this.создать();
|
||||||
|
};
|
||||||
|
|
||||||
@@ -23,6 +23,7 @@ function Игра()
|
|||||||
мир.мышь = new Мышь(мир.события);
|
мир.мышь = new Мышь(мир.события);
|
||||||
мир.столкновения = new Столкновения(мир.события, мир.тела, мир.физдвижок);
|
мир.столкновения = new Столкновения(мир.события, мир.тела, мир.физдвижок);
|
||||||
мир.подсказки = new Подсказки();
|
мир.подсказки = new Подсказки();
|
||||||
|
мир.меню = new Меню(мир.события, мир.подсказки);
|
||||||
this.ключники = [
|
this.ключники = [
|
||||||
new Заголовок(),
|
new Заголовок(),
|
||||||
мир.виды,
|
мир.виды,
|
||||||
|
|||||||
Reference in New Issue
Block a user