From d8a1d7b7bb78331bc244c0aa12cc7851bc58e8ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B8=D1=85=D0=B0=D0=B8=D0=BB=20=D0=9A=D0=B0=D0=BF?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BA=D0=BE?= Date: Tue, 24 Aug 2021 15:18:49 +0300 Subject: [PATCH] infinite blinking --- 800.пример.json.js | 67 +++++++++++++++++++++++++++++++--------- 1 file changed, 53 insertions(+), 14 deletions(-) diff --git a/800.пример.json.js b/800.пример.json.js index 2e1caa7..3a4b495 100644 --- a/800.пример.json.js +++ b/800.пример.json.js @@ -547,20 +547,6 @@ console.debug("событие", событие); тела: ["игрок"], событие: "игрокПаук1", }, - /* - проверкаСенсораИгрокаРТ: { - объекты: ["рт", "паук1"], - событие: "игрокПаукРТ", - }, - проверкаСенсораИгрокаРТ1: { - объекты: ["рт1", "паук1"], - событие: "игрокПаукРТ1", - }, - проверкаСенсораИгрокаРТ2: { - объекты: ["рт2", "паук1"], - событие: "игрокПаукРТ2", - }, - */ }, движение: { паук1: { @@ -571,3 +557,56 @@ console.debug("событие", событие); }, }, }); + + +// // // // +// Повреждение игрока +// // // // + + +function ПовреждениеИгрока(события, колобок) +{ + this.создать = function() + { + события.подписать(this); + this.создатьМигание(); + this.мигаем = false; + }; + + this.создатьМигание = function() + { + var вид = document.createElement('style') + вид.innerText = ` +.мигание +{ + animation: мигатель 0.5s linear infinite; +} + +@keyframes мигатель +{ + 50% + { + opacity: 0; + } +} + `; + document.head.appendChild(вид) + }; + + this.обработатьСобытие = function(событие) + { + if (событие.startsWith("игрокПаук")) + { + if (this.мигаем) + { + return; + } + колобок.classList.add("мигание"); + } + }; + + // Конструктор. + this.создать(); +} + +мир.повреждениеИгрока = new ПовреждениеИгрока(мир.события, мир.изображения.элементы.колобок);