diff --git a/загрузка|loading.js b/загрузка|loading.js index 6d77d35..af6c42d 100644 --- a/загрузка|loading.js +++ b/загрузка|loading.js @@ -25,7 +25,8 @@ const ИМЯ_ОТЛ_РАСКЛАДКИ = "Отладочные раскладк ЗагрузитьОтладочнуюРаскладку = мир => { var модуль = мир.модули.модульПоИмени(ИМЯ_ОТЛ_РАСКЛАДКИ); - var ресурс = "/успех|success.layout"; + //var ресурс = "/успех|success.layout"; + var ресурс = "/провал|failure.layout"; var содержимое = модуль.содержимое[ресурс]; мир.раскладкаKMahjongg = { "содержимое": содержимое, diff --git a/фишки|tiles.js b/фишки|tiles.js index 0c0c90e..90a03ed 100644 --- a/фишки|tiles.js +++ b/фишки|tiles.js @@ -3,6 +3,141 @@ // // // // +ЗапуститьПлавноеСкрытиеФишек = мир => +{ + var шаг = 10; + var длительность = 200; + var прозрачность = 1.0; + var дельтаПрозрачности = шаг / длительность; + const анимация = setInterval( + function() { + const позиции = мир.раскладкаKMahjongg.позиции; + прозрачность -= дельтаПрозрачности; + // Возвращаем прозрачность материалам перед последующим скрытием фишек. + // И планируем выход из этой анимации. + var выходим = false; + if (прозрачность < 0) + { + прозрачность = 1; + выходим = true; + } + // Выставляем нужную прозрачность. + for (var id in мир.номераВыбранныхФишек) + { + var номер = мир.номераВыбранныхФишек[id]; + var фишка = мир.фишки[номер]; + фишка.material.opacity = прозрачность; + // Указываем на необходимость учитывать прозрачность. + фишка.material.transparent = true; + } + if (выходим) + { + clearInterval(анимация); + мир.уведомить("плавно скрыли фишки"); + } + }, + шаг + ); +}; + + +// // // // + + +ПроверитьВозможностьПоискаФишки = мир => +{ + if (мир.можноИскатьФишку) + { + мир.уведомить("можно искать фишку"); + } +}; + + +// // // // + + +ОтключитьВозможностьПоискаФишки = мир => +{ + мир.можноИскатьФишку = false; +}; + + +// // // // + + +ВключитьВозможностьПоискаФишки = мир => +{ + мир.можноИскатьФишку = true; +}; + + +// // // / + + +ПростоОбождатьПаруСекунд = мир => +{ + setTimeout( + function() { + мир.уведомить("плавно скрыли фишки") + }, + 2000 + ); +}; + + +// // // // + + +ПлавноСкрытьФишки = мир => +{ + мир.уведомить("надо плавно скрыть фишки"); +}; + + +// // // // + + +ОчиститьВыборФишек = мир => +{ + мир.номераВыбранныхФишек = []; +}; + + +// // // // + + +ОчиститьИндексыВыбранныхФишек = мир => +{ + const позиции = мир.раскладкаKMahjongg.позиции; + for (var id in мир.номераВыбранныхФишек) + { + var номер = мир.номераВыбранныхФишек[id]; + var позиция = позиции[номер]; + var индекс = индексПозицииФишки(позиция); + delete мир.индексыФишек[индекс]; + } +}; + + +// // // // + + +СкрытьСовпадающиеФишки = мир => +{ + for (var id in мир.номераВыбранныхФишек) + { + var номер = мир.номераВыбранныхФишек[id]; + // Перемещаем фишку на другой слой для исключения её из: + // * цикла отрисовки; + // * узлов для выбора нажатием. + мир.фишки[номер].layers.set(1); + } +}; + + +// // // // + + ОчиститьВыборПервойНайденнойФишки = мир => { мир.номераВыбранныхФишек.shift(); diff --git a/фишки|tiles.череда b/фишки|tiles.череда index 347d428..751018b 100644 --- a/фишки|tiles.череда +++ b/фишки|tiles.череда @@ -7,8 +7,11 @@ создать индексы фишек подготовить фишки к выбору уведомить о создании фишек в сцене + включить возможность поиска фишки нажали + проверить возможность поиска фишки +можно искать фишку найти фишку в координатах нажатия нашли фишку в координатах нажатия вывести найденную фишку @@ -20,10 +23,21 @@ окрасить найденную фишку проверить наличие двух выбранных фишек выбраны две фишки + отключить возможность поиска фишки сравнить выбранные фишки фишки совпадают вывести совпадение фишек + плавно скрыть фишки фишки не совпадают вывести различие фишек очистить окрашивание первой найденной фишки - очистить выбор первой найденной фишки \ No newline at end of file + очистить выбор первой найденной фишки + включить возможность поиска фишки +надо плавно скрыть фишки +# просто обождать пару секунд + запустить плавное скрытие фишек +плавно скрыли фишки + скрыть совпадающие фишки + очистить индексы выбранных фишек + очистить выбор фишек + включить возможность поиска фишки \ No newline at end of file