// // // // ИсправитьОтслеживаниеНажатийНаIOS = мир => { // https://stackoverflow.com/a/31459240/3404710 мир.отрисовщик.domElement.style.cursor = "pointer"; }; // // // // ОтслеживатьНажатияПальцем = мир => { window.addEventListener( "touchstart", function(событие) { var позиция = new THREE.Vector2(); позиция.x = (событие.touches[0].clientX / window.innerWidth) * 2 - 1; позиция.y = - (событие.touches[0].clientY / window.innerHeight) * 2 + 1; мир.позицияНажатия = позиция; мир.уведомить("нажали"); } ); }; // // // // ОтслеживатьНажатияМышью = мир => { window.addEventListener( "click", function(событие) { var позиция = new THREE.Vector2(); позиция.x = (событие.clientX / window.innerWidth) * 2 - 1; позиция.y = - (событие.clientY / window.innerHeight) * 2 + 1; мир.позицияНажатия = позиция; мир.уведомить("нажали"); } ); }; // // // // ЦентрироватьСцену = мир => { var мин = { "x": 0, "z": 0, }; 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 - мин.x) / 2; мир.корень.position.z -= (макс.z - мин.z) / 2; }; // // // // СоздатьФишкиВСцене = мир => { мир.уведомить("надо создать фишки в сцене"); }; // // // // ЗагрузитьРесурсыСцены = мир => { мир.уведомить("надо загрузить ресурсы сцены"); }; // // // // ПодготовитьСцену = мир => { var коэффициент = 2; var расстояние = 14; мир.камера.position.y = расстояние * коэффициент; мир.камера.position.z = расстояние; мир.камера.lookAt(new THREE.Vector3(0, 0, 0)); мир.свет = new THREE.DirectionalLight(0xffffff, 1); мир.свет.position.set(-0.5, 1, 0.5).normalize(); мир.сцена.add(мир.свет); мир.корень = new THREE.Group(); мир.сцена.add(мир.корень); }; // // // // СоздатьЗагрузчикТекстур = мир => { мир.загрузчикТекстур = new THREE.TextureLoader(); }; // // // // СоздатьЗагрузчикGLTF = мир => { мир.загрузчикGLTF = new THREE.GLTFLoader(); };