|
@@ -0,0 +1,102 @@ |
|
|
|
|
|
const ИМЯ = "three.js"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СоздатьСферу = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
var форма = new THREE.SphereBufferGeometry(0.4, 32, 32); |
|
|
|
|
|
var сфера = new THREE.Mesh(форма); |
|
|
|
|
|
мир.сцена.add(сфера); |
|
|
|
|
|
мир.камера.position.z = 10; |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ВстроитьОтрисовщикаThreeJS = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
// Задать вид. |
|
|
|
|
|
var css = ` |
|
|
|
|
|
html, body { |
|
|
|
|
|
margin: 0; |
|
|
|
|
|
} |
|
|
|
|
|
`; |
|
|
|
|
|
var вид = document.createElement("style"); |
|
|
|
|
|
вид.innerHTML = css; |
|
|
|
|
|
document.head.appendChild(вид); |
|
|
|
|
|
|
|
|
|
|
|
document.body.innerHTML = ""; |
|
|
|
|
|
document.body.appendChild(мир.отрисовщик.domElement); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ОтслеживатьИзменениеРазмераОкнаБраузера = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
window.addEventListener( |
|
|
|
|
|
"resize", |
|
|
|
|
|
function() { |
|
|
|
|
|
мир.уведомить("изменили размер окна браузера"); |
|
|
|
|
|
} |
|
|
|
|
|
); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ИзменитьРазмерОтрисовщикаThreeJS = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
var ширина = window.innerWidth; |
|
|
|
|
|
var высота = window.innerHeight; |
|
|
|
|
|
мир.камера.aspect = ширина / высота; |
|
|
|
|
|
мир.камера.updateProjectionMatrix(); |
|
|
|
|
|
мир.отрисовщик.setSize(ширина, высота); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ЗапуститьОтрисовку = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
function отрисовать() |
|
|
|
|
|
{ |
|
|
|
|
|
requestAnimationFrame(отрисовать); |
|
|
|
|
|
мир.отрисовщик.render(мир.сцена, мир.камера); |
|
|
|
|
|
} |
|
|
|
|
|
отрисовать(); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
НастроитьThreeJS = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
мир.сцена = new THREE.Scene(); |
|
|
|
|
|
мир.сцена.background = new THREE.Color(0x333366); |
|
|
|
|
|
мир.камера = new THREE.PerspectiveCamera(45, 1, 0.1, 1000); |
|
|
|
|
|
мир.отрисовщик = new THREE.WebGLRenderer(); |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // // // |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
УстановитьThreeJS = мир => |
|
|
|
|
|
{ |
|
|
|
|
|
var модуль = мир.модули.модульПоИмени(ИМЯ); |
|
|
|
|
|
var код = модуль.содержимое["/three.min.js"]; |
|
|
|
|
|
|
|
|
|
|
|
// Загрузить скрипт. |
|
|
|
|
|
var скрипт = document.createElement("script"); |
|
|
|
|
|
скрипт.innerHTML = код; |
|
|
|
|
|
document.body.appendChild(скрипт); |
|
|
|
|
|
}; |
|
|
|
|
|
|