From f166ce305e01951168f1d6fa990a584b32d4ede1 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: Sat, 24 Apr 2021 13:08:19 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BC=D0=B8=D0=B3=D0=B0=D1=82=D1=8C=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BB=D0=BE=D0=B1=D0=BA=D0=B0=2010=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- игра/110.колобок.js | 65 +++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/игра/110.колобок.js b/игра/110.колобок.js index dc6b301..a4741f1 100644 --- a/игра/110.колобок.js +++ b/игра/110.колобок.js @@ -32,6 +32,10 @@ // Следить за колобком камерой. const камера = мир.сцена.cameras.main; камера.startFollow(мир.колобок, false, 0.1, 0.1); + + мир.настройкиКолобка = { + мигать: false, + }; }; @@ -169,6 +173,60 @@ }; +// // // // + + +НачатьМиганиеКолобка = мир => +{ + if (мир.настройкиКолобка.мигать) + { + return; + } + + var конец = new Date(); + конец.setSeconds(конец.getSeconds() + 10); + + мир.настройкиКолобка.мигать = true; + мир.настройкиКолобка.мигание = { + окончание: конец, + шаг: 0.1, + цель: 0, + }; + + мир.уведомить("начали мигать колобка"); +}; + + +// // // // + + +МигатьКолобка = мир => +{ + if (!мир.настройкиКолобка.мигать) + { + return; + } + + var м = мир.настройкиКолобка.мигание; + var сейчас = new Date(); + + if (м.окончание - сейчас < 0) + { + мир.настройкиКолобка.мигать = false; + мир.колобок.alpha = 1; + мир.уведомить("закончили мигать колобка"); + return; + } + + var к = (м.цель == 1) ? 1 : -1; + мир.колобок.alpha += к * м.шаг; + if ((мир.колобок.alpha <= 0) || (мир.колобок.alpha >= 1)) + { + м.цель = к * -1; + } +}; + + /* * * Последовательность @@ -184,11 +242,16 @@ создать анимации колобка настроить столкновение колобка столкновение с врагом - отключить столкновение с платформами + начать мигание колобка обновить сцену переместить колобка анимировать колобка + мигать колобка изменили анимацию колобка остановить передвижение вещей +начали мигать колобка + отключить столкновение с платформами +закончили мигать колобка + включить столкновение с платформами `);