diff --git a/0000 b/0000 index 36f76bf..ed8c495 100644 --- a/0000 +++ b/0000 @@ -1,5 +1,5 @@ Сцена Маджонга -0.4.4 +0.5.0 https://git.opengamestudio.org/MAOH/CEHMA x /🎬.js diff --git a/🎬.js b/🎬.js index ae4c292..47df495 100644 --- a/🎬.js +++ b/🎬.js @@ -1,3 +1,6 @@ +const КОЭФФИЦИЕНТ_ВЫСОТЫ = 1.5; + + СоздатьОтладочнуюСферуВЦентреКорня = мир => { var форма = new THREE.SphereBufferGeometry(0.5, 32, 32); @@ -10,7 +13,35 @@ // // // // +РасположитьКамеруСцены = мир => +{ + var р = мир.размерПоляФишек; + var расстояние = р.макс.z - р.мин.z; + мир.камера.position.y = расстояние * КОЭФФИЦИЕНТ_ВЫСОТЫ; + мир.камера.position.z = расстояние; + мир.камера.lookAt(new THREE.Vector3(0, 0, 0)); +}; + + +// // // // + + ЦентрироватьФишкиСцены = мир => +{ + var р = мир.размерПоляФишек; + // Убираем пустоту слева. + мир.кореньСценыМаджонга.position.x -= р.мин.x; + мир.кореньСценыМаджонга.position.z -= р.мин.z; + // Центрируем остаток. + мир.кореньСценыМаджонга.position.x -= (р.макс.x - р.мин.x) / 2; + мир.кореньСценыМаджонга.position.z -= (р.макс.z - р.мин.z) / 2; +}; + + +// // // // + + +ПосчитатьРазмерПоляФишек = мир => { var мин = { "x": 1000000, @@ -40,12 +71,11 @@ макс.z = ф.position.z; } } - // Убираем пустоту слева. - мир.кореньСценыМаджонга.position.x -= мин.x; - мир.кореньСценыМаджонга.position.z -= мин.z; - // Центрируем остаток. - мир.кореньСценыМаджонга.position.x -= (макс.x - мин.x) / 2; - мир.кореньСценыМаджонга.position.z -= (макс.z - мин.z) / 2; + + мир.размерПоляФишек = { + "мин": мин, + "макс": макс, + }; }; diff --git a/🎬.череда b/🎬.череда index 4617900..dd1cc49 100644 --- a/🎬.череда +++ b/🎬.череда @@ -4,6 +4,8 @@ надо создать фишки в сцене убрать старые фишки сцены создать новые фишки сцены + посчитать размер поля фишек центрировать фишки сцены + расположить камеру сцены задать материалы фишкам сцены # создать отладочную сферу в центре корня \ No newline at end of file