89 lines
2.4 KiB
JavaScript
89 lines
2.4 KiB
JavaScript
|
||
const РЕСУРСЫ = "https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000";
|
||
const ФИШКА = "/фишка.gltf";
|
||
const ТЕКСТУРА1 = "/текстура.png";
|
||
const ТЕКСТУРА2 = "/текстура.jpg";
|
||
const ТЕКСТУРЫ = [
|
||
ТЕКСТУРА1,
|
||
ТЕКСТУРА2,
|
||
];
|
||
|
||
// // // //
|
||
|
||
|
||
ИспользоватьСледующийМатериалФишки = мир =>
|
||
{
|
||
if (++мир.номерМатериала >= мир.материалы.length)
|
||
{
|
||
мир.номерМатериала = 0;
|
||
}
|
||
мир.фишка.material = мир.материалы[мир.номерМатериала];
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
СоздатьМатериалыФишки = мир =>
|
||
{
|
||
мир.номерМатериала = 0;
|
||
мир.материалы = [];
|
||
for (var номер in ТЕКСТУРЫ)
|
||
{
|
||
var имя = ТЕКСТУРЫ[номер];
|
||
var текстура = мир.текстуры[РЕСУРСЫ][имя];;
|
||
var материал = new THREE.MeshLambertMaterial({map: текстура});
|
||
мир.материалы.push(материал);
|
||
}
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
СоздатьПримерСцены = мир =>
|
||
{
|
||
мир.сцена.background = new THREE.Color(0xFFFFFF);
|
||
var коэффициент = 2;
|
||
var расстояние = 5;
|
||
мир.камера.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(мир.свет);
|
||
|
||
мир.фишка = мир.полигональныеСетки[РЕСУРСЫ][ФИШКА];
|
||
мир.сцена.add(мир.фишка);
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
ПодготовитьсяКЗагрузкеРесурсов = мир =>
|
||
{
|
||
мир.полигональныеСетки = {
|
||
[РЕСУРСЫ]: {
|
||
[ФИШКА]: null,
|
||
},
|
||
};
|
||
|
||
мир.текстуры = {
|
||
[РЕСУРСЫ]: {
|
||
[ТЕКСТУРА1]: null,
|
||
[ТЕКСТУРА2]: null,
|
||
},
|
||
};
|
||
|
||
};
|
||
|
||
|
||
// // // //
|
||
|
||
|
||
ВывестиНажатиеВРисователе = мир =>
|
||
{
|
||
console.debug("Нажатие в рисователе:", мир.позицияНажатияВРисователе);
|
||
}; |