Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6f22b9dccb | ||
|
|
5e3f0f8a6c | ||
|
|
536550bace | ||
|
|
6fdf234a2c | ||
|
|
7a08280b29 | ||
|
|
d4eb1e7646 | ||
|
|
e7311d492b | ||
|
|
e6e3e7e202 | ||
|
|
10b486d62d | ||
|
|
6f7a8d0151 | ||
|
|
bda0fcacc8 | ||
|
|
6d41301b20 | ||
|
|
de1b2f20cc |
@@ -1,5 +1,4 @@
|
|||||||
const УКАЗАТЕЛЬ_МОДУЛЯ_РЕСУРСОВ = "https://git.opengamestudio.org/mahjong/mahjong-res/raw/commit/5430b4d62bcc3d60f1e570485ee5cd562b70582d/0000";
|
const ИМЯ_МОДУЛЯ_РЕСУРСОВ = "Ресурсы Маджонга | Mahjong resources";
|
||||||
const УКАЗАТЕЛЬ_ОТЛ_РАСКЛАДКИ = "https://git.opengamestudio.org/mahjong/mahjong-otl-raskladki-dbg-layouts/raw/commit/2951feab28448266d3446974e781d320ebbed8df/0000";
|
|
||||||
|
|
||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
@@ -13,31 +12,11 @@ const УКАЗАТЕЛЬ_ОТЛ_РАСКЛАДКИ = "https://git.opengamestudio
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
ЗадатьОтладочнуюТемуФишекДляЗагрузки = мир =>
|
|
||||||
{
|
|
||||||
мир.темаФишек = "отладочная|debug";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ЗагрузитьВыбраннуюРаскладку = мир =>
|
ЗагрузитьВыбраннуюРаскладку = мир =>
|
||||||
{
|
{
|
||||||
var указательМодуля = УКАЗАТЕЛЬ_МОДУЛЯ_РЕСУРСОВ;
|
var детали = мир.реестрРаскладок[мир.выбраннаяРаскладка];
|
||||||
var ресурс = "/X_shaped.layout";
|
var модуль = мир.модули.модульПоИмени(детали["🗿"]);
|
||||||
if (мир.выбраннаяРаскладка == "😀")
|
var содержимое = модуль.содержимое[детали["📁"]];
|
||||||
{
|
|
||||||
ресурс = "/успех|success.layout";
|
|
||||||
указательМодуля = УКАЗАТЕЛЬ_ОТЛ_РАСКЛАДКИ;
|
|
||||||
}
|
|
||||||
else if (мир.выбраннаяРаскладка == "😭")
|
|
||||||
{
|
|
||||||
ресурс = "/провал|failure.layout";
|
|
||||||
указательМодуля = УКАЗАТЕЛЬ_ОТЛ_РАСКЛАДКИ;
|
|
||||||
}
|
|
||||||
var модуль = мир.модули.модульПоУказателю(указательМодуля);
|
|
||||||
var содержимое = модуль.содержимое[ресурс];
|
|
||||||
мир.раскладкаKMahjongg = {
|
мир.раскладкаKMahjongg = {
|
||||||
"содержимое": содержимое,
|
"содержимое": содержимое,
|
||||||
};
|
};
|
||||||
@@ -49,7 +28,7 @@ const УКАЗАТЕЛЬ_ОТЛ_РАСКЛАДКИ = "https://git.opengamestudio
|
|||||||
|
|
||||||
ЗагрузитьФишку = мир =>
|
ЗагрузитьФишку = мир =>
|
||||||
{
|
{
|
||||||
var модуль = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_МОДУЛЯ_РЕСУРСОВ);
|
var модуль = мир.модули.модульПоИмени(ИМЯ_МОДУЛЯ_РЕСУРСОВ);
|
||||||
var ресурс = "/фишка.gltf";
|
var ресурс = "/фишка.gltf";
|
||||||
var адрес = `${window.location.origin}${ресурс}`;
|
var адрес = `${window.location.origin}${ресурс}`;
|
||||||
THREE.Cache.enabled = true;
|
THREE.Cache.enabled = true;
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
надо загрузить ресурсы сцены
|
надо загрузить ресурсы сцены
|
||||||
загрузить фишку
|
загрузить фишку
|
||||||
загрузили фишку
|
загрузили фишку
|
||||||
загрузить выбранную раскладку
|
|
||||||
разобрать раскладку KMahjongg
|
|
||||||
разобрали раскладку KMahjongg
|
|
||||||
задать отладочную тему фишек для загрузки
|
|
||||||
загрузить тему фишек маджонга
|
загрузить тему фишек маджонга
|
||||||
загрузили тему фишек маджонга
|
загрузили тему фишек маджонга
|
||||||
уведомить о загрузке ресурсов сцены
|
уведомить о загрузке ресурсов сцены
|
||||||
151
пуск|run.js
151
пуск|run.js
@@ -3,6 +3,75 @@
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ВыбратьТемуФишекОтладочную = мир =>
|
||||||
|
{
|
||||||
|
мир.выбраннаяТема = "отладочная|debug";
|
||||||
|
//мир.уведомить("выбрали тему");
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ВыбратьРаскладкуX = мир =>
|
||||||
|
{
|
||||||
|
мир.выбраннаяРаскладка = "X_shaped";
|
||||||
|
мир.уведомить("выбрали раскладку");
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ИзменитьРазмерОтрисовщикаThreeJS = мир =>
|
||||||
|
{
|
||||||
|
var ширина = window.innerWidth * мир.масштаб;
|
||||||
|
var высота = window.innerHeight * мир.масштаб;
|
||||||
|
мир.камера.aspect = ширина / высота;
|
||||||
|
мир.камера.updateProjectionMatrix();
|
||||||
|
мир.отрисовщик.setSize(ширина, высота);
|
||||||
|
|
||||||
|
var размер = мир.масштаб * 100;
|
||||||
|
мир.канва.style = `
|
||||||
|
max-width: ${размер}%;
|
||||||
|
max-height: ${размер}%;
|
||||||
|
width: ${размер}%;
|
||||||
|
height: ${размер}%;
|
||||||
|
`;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ЗадатьОтладочныйМасштаб = мир =>
|
||||||
|
{
|
||||||
|
мир.масштаб = 3;
|
||||||
|
мир.уведомить("изменили масштаб");
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ВключитьОтслеживаниеНажатий = мир =>
|
||||||
|
{
|
||||||
|
мир.отслеживатьНажатия = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ОтключитьОтслеживаниеНажатий = мир =>
|
||||||
|
{
|
||||||
|
мир.отслеживатьНажатия = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
ИсправитьОтслеживаниеНажатийНаIOS = мир =>
|
ИсправитьОтслеживаниеНажатийНаIOS = мир =>
|
||||||
{
|
{
|
||||||
// https://stackoverflow.com/a/31459240/3404710
|
// https://stackoverflow.com/a/31459240/3404710
|
||||||
@@ -13,35 +82,22 @@
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
ОтслеживатьНажатияПальцем = мир =>
|
ПодготовитьсяКОтслеживаниюНажатий = мир =>
|
||||||
{
|
{
|
||||||
|
мир.отслеживатьНажатия = false;
|
||||||
|
|
||||||
|
// Палец.
|
||||||
window.addEventListener(
|
window.addEventListener(
|
||||||
"touchstart",
|
"touchstart",
|
||||||
function(событие) {
|
function(событие) {
|
||||||
var позиция = new THREE.Vector2();
|
сообщитьОНажатии(мир, событие.touches[0]);
|
||||||
позиция.x = (событие.touches[0].clientX / window.innerWidth) * 2 - 1;
|
|
||||||
позиция.y = - (событие.touches[0].clientY / window.innerHeight) * 2 + 1;
|
|
||||||
мир.позицияНажатия = позиция;
|
|
||||||
мир.уведомить("нажали");
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
// Мышь.
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ОтслеживатьНажатияМышью = мир =>
|
|
||||||
{
|
|
||||||
window.addEventListener(
|
window.addEventListener(
|
||||||
"click",
|
"click",
|
||||||
function(событие) {
|
function(событие) {
|
||||||
var позиция = new THREE.Vector2();
|
сообщитьОНажатии(мир, событие);
|
||||||
позиция.x = (событие.clientX / window.innerWidth) * 2 - 1;
|
|
||||||
позиция.y = - (событие.clientY / window.innerHeight) * 2 + 1;
|
|
||||||
мир.позицияНажатия = позиция;
|
|
||||||
мир.уведомить("нажали");
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
@@ -88,9 +144,9 @@
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
СоздатьФишкиВСцене = мир =>
|
РазобратьРаскладкуKMahjongg = мир =>
|
||||||
{
|
{
|
||||||
мир.уведомить("надо создать фишки в сцене");
|
мир.раскладкаKMahjongg.позиции = разобратьРаскладкуKMahjongg(мир.раскладкаKMahjongg.содержимое);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -117,9 +173,6 @@
|
|||||||
мир.свет = new THREE.DirectionalLight(0xffffff, 1);
|
мир.свет = new THREE.DirectionalLight(0xffffff, 1);
|
||||||
мир.свет.position.set(-0.5, 1, 0.5).normalize();
|
мир.свет.position.set(-0.5, 1, 0.5).normalize();
|
||||||
мир.сцена.add(мир.свет);
|
мир.сцена.add(мир.свет);
|
||||||
|
|
||||||
мир.корень = new THREE.Group();
|
|
||||||
мир.сцена.add(мир.корень);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -140,3 +193,51 @@
|
|||||||
мир.загрузчикGLTF = new THREE.GLTFLoader();
|
мир.загрузчикGLTF = new THREE.GLTFLoader();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
НастроитьThreeJS = мир =>
|
||||||
|
{
|
||||||
|
мир.сцена = new THREE.Scene();
|
||||||
|
мир.сцена.background = new THREE.Color(0xFFFFFF);
|
||||||
|
мир.камера = new THREE.PerspectiveCamera(45, 1, 0.1, 1000);
|
||||||
|
мир.ловецНажатий = new THREE.Raycaster();
|
||||||
|
мир.отрисовщик = new THREE.WebGLRenderer({canvas: мир.канва, antialias: true});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
СоздатьКанвуThreeJS = мир =>
|
||||||
|
{
|
||||||
|
мир.канва = document.createElement("canvas");
|
||||||
|
мир.канва.id = "канва-threejs";
|
||||||
|
мир.канва.style = `
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
`;
|
||||||
|
var первый = document.body.firstChild;
|
||||||
|
if (первый)
|
||||||
|
{
|
||||||
|
document.body.insertBefore(мир.канва, первый);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
document.body.appendChild(мир.канва);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
СоздатьМасштаб = мир =>
|
||||||
|
{
|
||||||
|
мир.масштаб = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,29 @@
|
|||||||
выбрали раскладку
|
пуск модулей маджонга
|
||||||
|
создать масштаб
|
||||||
|
создать канву ThreeJS
|
||||||
настроить ThreeJS
|
настроить ThreeJS
|
||||||
встроить отрисовщика ThreeJS
|
|
||||||
отслеживать изменение размера окна браузера
|
отслеживать изменение размера окна браузера
|
||||||
изменить размер отрисовщика ThreeJS
|
изменить размер отрисовщика ThreeJS
|
||||||
создать загрузчик GLTF
|
создать загрузчик GLTF
|
||||||
создать загрузчик текстур
|
создать загрузчик текстур
|
||||||
подготовить сцену
|
подготовить сцену
|
||||||
загрузить ресурсы сцены
|
подготовиться к отслеживанию нажатий
|
||||||
загрузили ресурсы сцены
|
|
||||||
создать фишки в сцене
|
|
||||||
создали фишки в сцене
|
|
||||||
центрировать сцену
|
|
||||||
отслеживать нажатия мышью
|
|
||||||
отслеживать нажатия пальцем
|
|
||||||
исправить отслеживание нажатий на IOS
|
исправить отслеживание нажатий на IOS
|
||||||
запустить отрисовку
|
запустить отрисовку
|
||||||
|
выбрать тему фишек отладочную
|
||||||
|
загрузить ресурсы сцены
|
||||||
|
загрузили ресурсы сцены
|
||||||
|
выбрать раскладку X
|
||||||
|
подготовиться к созданию фишек в сцене
|
||||||
|
включить отслеживание нажатий
|
||||||
|
|
||||||
изменили размер окна браузера
|
изменили размер окна браузера
|
||||||
изменить размер отрисовщика ThreeJS
|
изменить размер отрисовщика ThreeJS
|
||||||
|
изменили масштаб
|
||||||
|
изменить размер отрисовщика ThreeJS
|
||||||
|
|
||||||
|
выбрали раскладку
|
||||||
|
загрузить выбранную раскладку
|
||||||
|
разобрать раскладку KMahjongg
|
||||||
|
создать фишки в сцене
|
||||||
|
центрировать сцену
|
||||||
131
фишки|tiles.js
131
фишки|tiles.js
@@ -3,6 +3,15 @@
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ВывестиКоординатыНажатия = мир =>
|
||||||
|
{
|
||||||
|
console.debug("Координаты нажатия:", мир.позицияНажатия.x, мир.позицияНажатия.y);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
УведомитьОПоражении = мир =>
|
УведомитьОПоражении = мир =>
|
||||||
{
|
{
|
||||||
мир.уведомить("поражение");
|
мир.уведомить("поражение");
|
||||||
@@ -348,6 +357,7 @@
|
|||||||
console.debug(`ВЫБРАЛИ фишку. номер: '${номер}' группа: '${группа}'`);
|
console.debug(`ВЫБРАЛИ фишку. номер: '${номер}' группа: '${группа}'`);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
@@ -386,40 +396,6 @@
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
УведомитьОСозданииФишекВСцене = мир =>
|
|
||||||
{
|
|
||||||
мир.уведомить("создали фишки в сцене");
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ПодготовитьФишкиКВыбору = мир =>
|
|
||||||
{
|
|
||||||
мир.номераВыбранныхФишек = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
СоздатьИндексыФишек = мир =>
|
|
||||||
{
|
|
||||||
мир.индексыФишек = {};
|
|
||||||
const позиции = мир.раскладкаKMahjongg.позиции;
|
|
||||||
for (var номер in позиции)
|
|
||||||
{
|
|
||||||
var позиция = позиции[номер];
|
|
||||||
var индекс = индексПозицииФишки(позиция);
|
|
||||||
мир.индексыФишек[индекс] = номер;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ВывестиНайденнуюФишку = мир =>
|
ВывестиНайденнуюФишку = мир =>
|
||||||
{
|
{
|
||||||
var номер = мир.номерНайденнойФишки;
|
var номер = мир.номерНайденнойФишки;
|
||||||
@@ -445,31 +421,31 @@
|
|||||||
мир.уведомить("нашли фишку в координатах нажатия");
|
мир.уведомить("нашли фишку в координатах нажатия");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
СоздатьМатериалыВыбранныхФишекОтладочнойТемы = мир =>
|
ПодготовитьФишкиКВыбору = мир =>
|
||||||
{
|
{
|
||||||
мир.материалыВыбранныхФишек = [];
|
мир.номераВыбранныхФишек = [];
|
||||||
for (var номер in мир.материалыФишек)
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
СоздатьИндексыФишек = мир =>
|
||||||
|
{
|
||||||
|
мир.индексыФишек = {};
|
||||||
|
const позиции = мир.раскладкаKMahjongg.позиции;
|
||||||
|
for (var номер in позиции)
|
||||||
{
|
{
|
||||||
var материал = мир.материалыФишек[номер].clone();
|
var позиция = позиции[номер];
|
||||||
материал.color = new THREE.Color(0xff0000);
|
var индекс = индексПозицииФишки(позиция);
|
||||||
мир.материалыВыбранныхФишек.push(материал);
|
мир.индексыФишек[индекс] = номер;
|
||||||
}
|
};
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// // // //
|
|
||||||
|
|
||||||
|
|
||||||
ПодготовитьПоискФишек = мир =>
|
|
||||||
{
|
|
||||||
мир.номераНайденныхФишек = [];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -552,14 +528,61 @@
|
|||||||
// // // //
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ПодготовитьКореньФишек = мир =>
|
||||||
|
{
|
||||||
|
if (мир.корень && мир.сцена.children.includes(мир.корень))
|
||||||
|
{
|
||||||
|
мир.сцена.remove(мир.корень);
|
||||||
|
}
|
||||||
|
мир.корень = new THREE.Group();
|
||||||
|
мир.сцена.add(мир.корень);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
СоздатьМатериалыВыбранныхФишекОтладочнойТемы = мир =>
|
||||||
|
{
|
||||||
|
мир.материалыВыбранныхФишек = [];
|
||||||
|
for (var номер in мир.материалыФишек)
|
||||||
|
{
|
||||||
|
var материал = мир.материалыФишек[номер].clone();
|
||||||
|
материал.color = new THREE.Color(0xff0000);
|
||||||
|
мир.материалыВыбранныхФишек.push(материал);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
СоздатьМатериалыФишекОтладочнойТемы = мир =>
|
СоздатьМатериалыФишекОтладочнойТемы = мир =>
|
||||||
{
|
{
|
||||||
мир.материалыФишек = [];
|
мир.материалыФишек = [];
|
||||||
var тема = "отладочная|debug";
|
|
||||||
for (var номер = 1; номер <= 42; ++номер)
|
for (var номер = 1; номер <= 42; ++номер)
|
||||||
{
|
{
|
||||||
var текстура = мир.текстурыТемФишек[тема][номер];
|
var текстура = мир.текстурыТемФишек[мир.выбраннаяТема][номер];
|
||||||
var материал = new THREE.MeshLambertMaterial({map: текстура});
|
var материал = new THREE.MeshLambertMaterial({map: текстура});
|
||||||
мир.материалыФишек.push(материал);
|
мир.материалыФишек.push(материал);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
СоздатьФишкиВСцене = мир =>
|
||||||
|
{
|
||||||
|
мир.уведомить("надо создать фишки в сцене");
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
ПодготовитьсяКСозданиюФишекВСцене = мир =>
|
||||||
|
{
|
||||||
|
мир.уведомить("надо подготовиться к созданию фишек в сцене");
|
||||||
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,20 @@
|
|||||||
надо создать фишки в сцене
|
надо подготовиться к созданию фишек в сцене
|
||||||
создать материалы фишек отладочной темы
|
создать материалы фишек отладочной темы
|
||||||
|
создать материалы выбранных фишек отладочной темы
|
||||||
|
|
||||||
|
надо создать фишки в сцене
|
||||||
|
подготовить корень фишек
|
||||||
создать узлы фишек
|
создать узлы фишек
|
||||||
создать группы фишек
|
создать группы фишек
|
||||||
задать материалы фишкам по группам
|
задать материалы фишкам по группам
|
||||||
создать материалы выбранных фишек отладочной темы
|
|
||||||
создать индексы фишек
|
создать индексы фишек
|
||||||
подготовить фишки к выбору
|
подготовить фишки к выбору
|
||||||
уведомить о создании фишек в сцене
|
|
||||||
включить возможность поиска фишки
|
включить возможность поиска фишки
|
||||||
|
|
||||||
нажали
|
нажали
|
||||||
проверить возможность поиска фишки
|
проверить возможность поиска фишки
|
||||||
можно искать фишку
|
можно искать фишку
|
||||||
|
# вывести координаты нажатия
|
||||||
найти фишку в координатах нажатия
|
найти фишку в координатах нажатия
|
||||||
нашли фишку в координатах нажатия
|
нашли фишку в координатах нажатия
|
||||||
вывести найденную фишку
|
вывести найденную фишку
|
||||||
|
|||||||
@@ -1,5 +1,28 @@
|
|||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
|
сообщитьОНажатии = (мир, событие) =>
|
||||||
|
{
|
||||||
|
if (!мир.отслеживатьНажатия)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var позиция = new THREE.Vector2();
|
||||||
|
var ширина = window.innerWidth * мир.масштаб;
|
||||||
|
var высота = window.innerHeight * мир.масштаб;
|
||||||
|
позиция.x = ((событие.clientX + window.pageXOffset) / ширина ) * 2 - 1;
|
||||||
|
позиция.y = - ((событие.clientY + window.pageYOffset) / высота) * 2 + 1;
|
||||||
|
мир.позицияНажатия = позиция;
|
||||||
|
мир.уведомить("нажали");
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// // // //
|
||||||
|
|
||||||
|
|
||||||
фишкуМожноВыбрать = (индексы, индекс) =>
|
фишкуМожноВыбрать = (индексы, индекс) =>
|
||||||
{
|
{
|
||||||
var позиция = позицияИндексаФишки(индекс);
|
var позиция = позицияИндексаФишки(индекс);
|
||||||
|
|||||||
Reference in New Issue
Block a user