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 @@ создать анимации колобка настроить столкновение колобка столкновение с врагом - отключить столкновение с платформами + начать мигание колобка обновить сцену переместить колобка анимировать колобка + мигать колобка изменили анимацию колобка остановить передвижение вещей +начали мигать колобка + отключить столкновение с платформами +закончили мигать колобка + включить столкновение с платформами `);