From 56ec198c3b36a23bb024b16fd39291593af5fca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BB=D0=B0=D0=B2=D1=80=D0=B5=D0=B4=20=7C=20Glavred?= Date: Thu, 10 Sep 2020 14:05:34 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BE=D1=82=20=D0=93=D0=BB=D0=B0=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B0=20=D0=93=D0=B8=D1=82=D0=96=D0=A1=20|=20Chang?= =?UTF-8?q?es=20of=20GitJS=20Glavred?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- сцена|scene.js | 45 +++++++++++++++++++++++++++++++++-- сцена|scene.череда | 18 +++++++------- тема|theme.js | 2 +- 3 files changed, 53 insertions(+), 12 deletions(-) diff --git a/сцена|scene.js b/сцена|scene.js index 99907cd..62a6dcc 100644 --- a/сцена|scene.js +++ b/сцена|scene.js @@ -1,12 +1,52 @@ const ИМЯ = "ОМ | MB"; const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | Mahjong resources"; + +// // // // + + +ОтобразитьРаскладкуПоследовательноСоВсемиТекстурами = мир => +{ + var границы = мир.фишка.geometry.boundingBox; + var размеры = [ + (границы.max.x - границы.min.x) / 2, + (границы.max.z - границы.min.z) / 2, + границы.max.y - границы.min.y, + ]; + + const позиции = мир.раскладкаKMahjongg.позиции; + мир.фишки = []; + for (var номер in позиции) + { + // Модель. + var фишка = мир.фишка.clone(); + мир.фишки.push(фишка); + мир.корень.add(фишка); + // Расположение. + var позиция = позиции[номер]; + var слой = позиция[0]; + var ряд = позиция[1]; + var столбец = позиция[2]; + фишка.position.x = столбец * размеры[0]; + фишка.position.z = ряд * размеры[1]; + фишка.position.y = слой; + // Текстура. + var номерТекстуры = номер % 42; + // Потому что текстуры с индекса 1 начинаются. + номерТекстуры += 1; + var текстура = мир.текстурыТемФишек["отладочная|debug"][номерТекстуры]; + var материал = new THREE.MeshLambertMaterial({map: текстура}); + фишка.material = материал; + } +}; + + // // // // ВывестиФактЗагрузкиТемыФишекМаджонга = мир => { - console.debug("загрузили темы фишек маджонга"); + console.debug("ВывестиФактЗагрузкиТемыФишекМаджонга"); }; @@ -55,6 +95,7 @@ const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | мир.корень.position.z -= (макс.z - мин.z) / 2; }; + // // // // @@ -142,7 +183,7 @@ const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | ПодготовитьСцену = мир => { var коэффициент = 2; - var расстояние = 20; + var расстояние = 12; мир.камера.position.y = расстояние * коэффициент; мир.камера.position.z = расстояние; мир.камера.lookAt(new THREE.Vector3(0, 0, 0)); diff --git a/сцена|scene.череда b/сцена|scene.череда index 66f732b..a4e80df 100644 --- a/сцена|scene.череда +++ b/сцена|scene.череда @@ -8,20 +8,20 @@ подготовить сцену загрузить фишку загрузили фишку + загрузить раскладку + разобрать раскладку KMahjongg +разобрали раскладку KMahjongg задать тему фишек для загрузки загрузить тему фишек маджонга загрузили тему фишек маджонга вывести факт загрузки темы фишек маджонга - - - + # загрузить текстуру фишки из модуля -загрузили текстуру фишки из модуля - загрузить раскладку - разобрать раскладку KMahjongg -разобрали раскладку KMahjongg - подготовить фишку - отобразить раскладку одной фишкой +#загрузили текстуру фишки из модуля +# подготовить фишку +# отобразить раскладку одной фишкой + + отобразить раскладку последовательно со всеми текстурами центрировать сцену запустить отрисовку изменили размер окна браузера diff --git a/тема|theme.js b/тема|theme.js index fb053ae..9421c25 100644 --- a/тема|theme.js +++ b/тема|theme.js @@ -40,7 +40,7 @@ ЗагрузитьСледующуюТекстуруТемыФишекМаджонга = мир => { - console.debug("загрузить следующую текстуру темы фишек маджонга"); + console.debug("ЗагрузитьСледующуюТекстуруТемыФишекМаджонга"); const загрузка = мир.загрузкаТемыФишек; var тема = мир.темыФишек[загрузка.имя]; var имяМодуляРесурсов = тема["🗿"];