Основа Маджонга | Mahjong's base
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

136 行
2.8KB

  1. const ИМЯ = "ОМ | MB";
  2. const БАЗА = "https://git.opengamestudio.org/mahjong/mahjong-modeli-models/raw/branch/master/";
  3. // // // //
  4. УбратьПереворотТекстурыФишки = мир =>
  5. {
  6. мир.текстураФишки.flipY = false;
  7. };
  8. // // // //
  9. ПовернутьФишку = мир =>
  10. {
  11. мир.модельФишки.rotation.x += 0.03;
  12. мир.модельФишки.rotation.y += 0.02;
  13. };
  14. // // // //
  15. Отладка = мир =>
  16. {
  17. console.debug("Отладка", Date());
  18. };
  19. // // // //
  20. ЗапуститьТаймерПоворотаФишки = мир =>
  21. {
  22. setInterval(
  23. function() {
  24. мир.уведомить("поворот фишки");
  25. },
  26. 60
  27. );
  28. };
  29. // // // //
  30. ПодготовитьСцену = мир =>
  31. {
  32. мир.камера.position.z = 10;
  33. мир.свет = new THREE.DirectionalLight(0xffffff, 1);
  34. мир.свет.position.set(-0.5, 0.5, 1).normalize();
  35. мир.сцена.add(мир.свет);
  36. };
  37. // // // //
  38. СоздатьФишку = мир =>
  39. {
  40. мир.сцена.add(мир.модельФишки);
  41. var материал = new THREE.MeshLambertMaterial({map: мир.текстураФишки});
  42. мир.модельФишки.traverse(function(ребёнок) {
  43. if (ребёнок.isMesh)
  44. {
  45. ребёнок.material = материал;
  46. }
  47. });
  48. };
  49. // // // //
  50. ЗагрузитьТекстуруФишки = мир =>
  51. {
  52. var текстура = "текстура.png";
  53. var адрес = БАЗА + текстура;
  54. мир.загрузчикТекстур.load(
  55. адрес,
  56. function(текстура) {
  57. мир.текстураФишки = текстура;
  58. мир.уведомить("загрузили текстуру фишки");
  59. },
  60. null,
  61. function(error) {
  62. console.error("ОШИБКА | ERROR", error);
  63. }
  64. );
  65. };
  66. // // // //
  67. СоздатьЗагрузчикТекстур = мир =>
  68. {
  69. мир.загрузчикТекстур = new THREE.TextureLoader();
  70. };
  71. // // // //
  72. ЗагрузитьМодельФишки = мир =>
  73. {
  74. var модель = "фишка.gltf";
  75. var адрес = БАЗА + модель;
  76. console.debug("модель", адрес);
  77. мир.загрузчикGLTF.load(
  78. адрес,
  79. function(gltf) {
  80. мир.модельФишки = gltf.scene;
  81. мир.уведомить("загрузили модель фишки");
  82. },
  83. null,
  84. function(error) {
  85. console.error("ОШИБКА | ERROR", error);
  86. }
  87. );
  88. };
  89. // // // //
  90. СоздатьЗагрузчикGLTF = мир =>
  91. {
  92. мир.загрузчикGLTF = new THREE.GLTFLoader();
  93. };