You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.4KB

  1. const РЕСУРСЫ = "https://git.opengamestudio.org/PuCOBATEJlb/PECYPCbl/raw/branch/master/0000";
  2. const ФИШКА = "/фишка.gltf";
  3. const ТЕКСТУРА1 = "/текстура.png";
  4. const ТЕКСТУРА2 = "/текстура.jpg";
  5. const ТЕКСТУРЫ = [
  6. ТЕКСТУРА1,
  7. ТЕКСТУРА2,
  8. ];
  9. // // // //
  10. ИспользоватьСледующийМатериалФишки = мир =>
  11. {
  12. if (++мир.номерМатериала >= мир.материалы.length)
  13. {
  14. мир.номерМатериала = 0;
  15. }
  16. мир.фишка.material = мир.материалы[мир.номерМатериала];
  17. };
  18. // // // //
  19. СоздатьМатериалыФишки = мир =>
  20. {
  21. мир.номерМатериала = 0;
  22. мир.материалы = [];
  23. for (var номер in ТЕКСТУРЫ)
  24. {
  25. var имя = ТЕКСТУРЫ[номер];
  26. var текстура = мир.текстуры[РЕСУРСЫ][имя];;
  27. var материал = new THREE.MeshLambertMaterial({map: текстура});
  28. мир.материалы.push(материал);
  29. }
  30. };
  31. // // // //
  32. СоздатьПримерСцены = мир =>
  33. {
  34. мир.сцена.background = new THREE.Color(0xFFFFFF);
  35. var коэффициент = 2;
  36. var расстояние = 5;
  37. мир.камера.position.y = расстояние * коэффициент;
  38. мир.камера.position.z = расстояние;
  39. мир.камера.lookAt(new THREE.Vector3(0, 0, 0));
  40. мир.свет = new THREE.DirectionalLight(0xFFFFFF, 1);
  41. мир.свет.position.set(-0.5, 1, 0.5).normalize();
  42. мир.сцена.add(мир.свет);
  43. мир.фишка = мир.полигональныеСетки[РЕСУРСЫ][ФИШКА];
  44. мир.сцена.add(мир.фишка);
  45. };
  46. // // // //
  47. ПодготовитьсяКЗагрузкеРесурсов = мир =>
  48. {
  49. мир.полигональныеСетки = {
  50. [РЕСУРСЫ]: {
  51. [ФИШКА]: null,
  52. },
  53. };
  54. мир.текстуры = {
  55. [РЕСУРСЫ]: {
  56. [ТЕКСТУРА1]: null,
  57. [ТЕКСТУРА2]: null,
  58. },
  59. };
  60. };
  61. // // // //
  62. ВывестиНажатиеВРисователе = мир =>
  63. {
  64. console.debug("Нажатие в рисователе:", мир.позицияНажатияВРисователе);
  65. };