|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
-
-
- // // // //
-
-
- ИсправитьОтслеживаниеНажатийНа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 расстояние = 6;
- мир.камера.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();
- };
-
|