diff --git a/0000 b/0000 index 0f00319..ad126fa 100644 --- a/0000 +++ b/0000 @@ -1,5 +1,5 @@ Сцена Маджонга -0.3.0 +0.4.0 https://git.opengamestudio.org/MAOH/CEHMA x /🎬.js diff --git a/🎬.js b/🎬.js index b2a8ad6..688dca7 100644 --- a/🎬.js +++ b/🎬.js @@ -29,6 +29,60 @@ // // // // +СоздатьОтладочнуюСферуВЦентреКорня = мир => +{ + var форма = new THREE.SphereBufferGeometry(0.5, 32, 32); + var сфера = new THREE.Mesh(форма); + сфера.material = new THREE.MeshLambertMaterial({ color: 0xAA00AA }); + мир.кореньСценыМаджонга.add(сфера); +}; + + +// // // // + + +ЦентрироватьФишкиСцены = мир => +{ + var мин = { + "x": 1000000, + "z": 1000000, + }; + var макс = { + "x": 0, + "z": 0, + }; + for (var номер in мир.фишкиСцены) + { + const ф = мир.фишкиСцены[номер]; + if (ф.position.x < мин.x) + { + мин.x = ф.position.x; + } + if (ф.position.x > макс.x) + { + макс.x = ф.position.x; + } + if (ф.position.z < мин.z) + { + мин.z = ф.position.z; + } + if (ф.position.z > макс.z) + { + макс.z = ф.position.z; + } + } + // Убираем пустоту слева. + мир.кореньСценыМаджонга.position.x -= мин.x; + мир.кореньСценыМаджонга.position.z -= мин.z; + // Центрируем остаток. + мир.кореньСценыМаджонга.position.x -= (макс.x - мин.x) / 2; + мир.кореньСценыМаджонга.position.z -= (макс.z - мин.z) / 2; +}; + + +// // // // + + ЗадатьМатериалыФишкамСцены = мир => { for (var н in мир.фишкиСцены) diff --git a/🎬.череда b/🎬.череда index 3e32f3e..32a3038 100644 --- a/🎬.череда +++ b/🎬.череда @@ -1,4 +1,6 @@ надо создать фишки в сцене убрать старые фишки сцены создать новые фишки сцены - задать материалы фишкам сцены \ No newline at end of file + центрировать фишки сцены + задать материалы фишкам сцены +# создать отладочную сферу в центре корня \ No newline at end of file