diff --git a/🏁.js b/🏁.js index 4687162..457bec3 100644 --- a/🏁.js +++ b/🏁.js @@ -7,9 +7,86 @@ const Π’Π•ΠœΠ_ΠžΠ’Π›ΠΠ”ΠžΠ§ΠΠΠ― = "https://git.opengamestudio.org/MAOH/MAOH_ // // // // +Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒΠŸΠ°Ρ€ΡƒΠ’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ…Π€ΠΈΡˆΠ΅ΠΊΠŸΠΎΡΠ»Π΅Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ = ΠΌΠΈΡ€ => +{ + setTimeout( + function() { + for (var Π½ΠΎΠΌΠ΅Ρ€ in ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅Π€ΠΈΡˆΠΊΠΈ) + { + var Π½ = ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅Π€ΠΈΡˆΠΊΠΈ[Π½ΠΎΠΌΠ΅Ρ€]; + // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ Ρ„ΠΈΡˆΠΊΡƒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ слой для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΅Ρ‘ ΠΈΠ· отрисовки ΠΈ Π²Ρ‹Π±ΠΎΡ€Π°. + var Ρ„ = ΠΌΠΈΡ€.Ρ„ΠΈΡˆΠΊΠΈ[Π½]; + Ρ„.layers.set(1); + } + }, + 100 + ); +} + +// // // // + + +Π‘Π½ΡΡ‚ΡŒΠ’Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅Π‘ΠŸΠ΅Ρ€Π²ΠΎΠΉΠ’Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉΠ€ΠΈΡˆΠΊΠΈ = ΠΌΠΈΡ€ => +{ + var Π½ = ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅Π€ΠΈΡˆΠΊΠΈ.shift(); + var Ρ„ = ΠΌΠΈΡ€.Ρ„ΠΈΡˆΠΊΠΈ[Π½]; + var Π³ = ΠΌΠΈΡ€.Π³Ρ€ΡƒΠΏΠΏΡ‹[Π½]; + var ΠΌ = ΠΌΠΈΡ€.ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹[Π³]; + Ρ„.material = ΠΌ; +} + + +// // // // + + +Π‘Ρ€Π°Π²Π½ΠΈΡ‚ΡŒΠŸΠ°Ρ€ΡƒΠ’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ…Π€ΠΈΡˆΠ΅ΠΊ = ΠΌΠΈΡ€ => +{ + // УдостовСряСмся Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π΄Π²ΡƒΡ… Ρ„ΠΈΡˆΠ΅ΠΊ. + if (ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅Π€ΠΈΡˆΠΊΠΈ.length != 2) + { + return; + } + var Π½1 = ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅Π€ΠΈΡˆΠΊΠΈ[0]; + var Π½2 = ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅Π€ΠΈΡˆΠΊΠΈ[1]; + var Π³1 = ΠΌΠΈΡ€.Π³Ρ€ΡƒΠΏΠΏΡ‹[Π½1]; + var Π³2 = ΠΌΠΈΡ€.Π³Ρ€ΡƒΠΏΠΏΡ‹[Π½2]; + if (Π³1 == Π³2) + { + ΠΌΠΈΡ€.ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΡ‚ΡŒ("Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΏΠ°Ρ€Ρƒ Ρ„ΠΈΡˆΠ΅ΠΊ ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹"); + } + else + { + ΠΌΠΈΡ€.ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΡ‚ΡŒ("Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΏΠ°Ρ€Ρƒ Ρ„ΠΈΡˆΠ΅ΠΊ Ρ€Π°Π·Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ"); + } +}; + +// // // // + + +Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒΠ’Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽΠ€ΠΈΡˆΠΊΡƒ = ΠΌΠΈΡ€ => +{ + var Π½ = ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Π°ΡΠ€ΠΈΡˆΠΊΠ°; + var Ρ„ = ΠΌΠΈΡ€.Ρ„ΠΈΡˆΠΊΠΈ[Π½]; + var Π³ = ΠΌΠΈΡ€.Π³Ρ€ΡƒΠΏΠΏΡ‹[Π½]; + var ΠΌ = ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹[Π³]; + Ρ„.material = ΠΌ; +}; + + +// // // // + + Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒΠ€ΠΈΡˆΠΊΡƒ = ΠΌΠΈΡ€ => { - console.debug("Π½ΠΎΠΌΠ΅Ρ€:", ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉΠ£Π·Π΅Π».userData); + var Π½ΠΎΠΌΠ΅Ρ€ = ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉΠ£Π·Π΅Π».userData; + // ΠžΡ‚ΡΠ΅ΠΊΠ°Π΅ΠΌ Π²Ρ‹Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„ΠΈΡˆΠΊΠΈ. + if (ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Π°ΡΠ€ΠΈΡˆΠΊΠ° && ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Π°ΡΠ€ΠΈΡˆΠΊΠ° == Π½ΠΎΠΌΠ΅Ρ€) + { + return; + } + ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Π°ΡΠ€ΠΈΡˆΠΊΠ° = Π½ΠΎΠΌΠ΅Ρ€; + ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅Π€ΠΈΡˆΠΊΠΈ.push(Π½ΠΎΠΌΠ΅Ρ€); + ΠΌΠΈΡ€.ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΡ‚ΡŒ("Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Ρ„ΠΈΡˆΠΊΡƒ"); }; @@ -19,6 +96,8 @@ const Π’Π•ΠœΠ_ΠžΠ’Π›ΠΠ”ΠžΠ§ΠΠΠ― = "https://git.opengamestudio.org/MAOH/MAOH_ ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΠ€ΠΈΡˆΠΊΠΈΠšΠ’Ρ‹Π±ΠΎΡ€Ρƒ = ΠΌΠΈΡ€ => { ΠΌΠΈΡ€.Π²Ρ‹Π±ΠΎΡ€Π½Ρ‹Π΅Π£Π·Π»Ρ‹ = ΠΌΠΈΡ€.Ρ„ΠΈΡˆΠΊΠΈ; + ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅Π€ΠΈΡˆΠΊΠΈ = []; + ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Π°ΡΠ€ΠΈΡˆΠΊΠ° = null; }; @@ -27,11 +106,30 @@ const Π’Π•ΠœΠ_ΠžΠ’Π›ΠΠ”ΠžΠ§ΠΠΠ― = "https://git.opengamestudio.org/MAOH/MAOH_ ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒΠ€ΠΈΡˆΠΊΠ°ΠΌΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ = ΠΌΠΈΡ€ => { - return; + for (var Π½ in ΠΌΠΈΡ€.Ρ„ΠΈΡˆΠΊΠΈ) + { + var Ρ„ = ΠΌΠΈΡ€.Ρ„ΠΈΡˆΠΊΠΈ[Π½]; + var Π³ = ΠΌΠΈΡ€.Π³Ρ€ΡƒΠΏΠΏΡ‹[Π½]; + var ΠΌ = ΠΌΠΈΡ€.ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹[Π³]; + Ρ„.material = ΠΌ; + } +}; + + +// // // // + + +Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠ“Ρ€ΡƒΠΏΠΏΡ‹ = ΠΌΠΈΡ€ => +{ + ΠΌΠΈΡ€.Π³Ρ€ΡƒΠΏΠΏΡ‹ = []; + var Π³Ρ€ΡƒΠΏΠΏΠ° = 0; for (var Π½ΠΎΠΌΠ΅Ρ€ in ΠΌΠΈΡ€.Ρ„ΠΈΡˆΠΊΠΈ) { - var Ρ„ΠΈΡˆΠΊΠ° = ΠΌΠΈΡ€.Ρ„ΠΈΡˆΠΊΠΈ[Π½ΠΎΠΌΠ΅Ρ€]; - Ρ„ΠΈΡˆΠΊΠ°.material = ΠΌΠΈΡ€.ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹[0]; + ΠΌΠΈΡ€.Π³Ρ€ΡƒΠΏΠΏΡ‹.push(Π³Ρ€ΡƒΠΏΠΏΠ°); + if (Π½ΠΎΠΌΠ΅Ρ€ % 2) + { + ++Π³Ρ€ΡƒΠΏΠΏΠ°; + } } }; @@ -77,16 +175,23 @@ const Π’Π•ΠœΠ_ΠžΠ’Π›ΠΠ”ΠžΠ§ΠΠΠ― = "https://git.opengamestudio.org/MAOH/MAOH_ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹Π€ΠΈΡˆΠ΅ΠΊ = ΠΌΠΈΡ€ => { - /* ΠΌΠΈΡ€.ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ = []; - for (var Π½ΠΎΠΌΠ΅Ρ€ in Π’Π•ΠšΠ‘Π’Π£Π Π«) + ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ = []; + var тСкстуры = ΠΌΠΈΡ€.тСкстуры[Π’Π•ΠœΠ_ΠžΠ’Π›ΠΠ”ΠžΠ§ΠΠΠ―]; + for (var имя in тСкстуры) { - var имя = Π’Π•ΠšΠ‘Π’Π£Π Π«[Π½ΠΎΠΌΠ΅Ρ€]; - var тСкстура = ΠΌΠΈΡ€.тСкстуры[Π Π•Π‘Π£Π Π‘Π«][имя]; - var ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» = new THREE.MeshLambertMaterial({map: тСкстура}); + var тСкстура = тСкстуры[имя]; + var ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» = new THREE.MeshLambertMaterial({ + map: тСкстура, + color: new THREE.Color(0xAAAAAA), + }); ΠΌΠΈΡ€.ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹.push(ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»); + var Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» = new THREE.MeshLambertMaterial({ + map: тСкстура, + color: new THREE.Color(0xFFFFFF), + }); + ΠΌΠΈΡ€.Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹.push(Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»); } - */ }; // // // // @@ -99,16 +204,17 @@ const Π’Π•ΠœΠ_ΠžΠ’Π›ΠΠ”ΠžΠ§ΠΠΠ― = "https://git.opengamestudio.org/MAOH/MAOH_ [ЀИШКА]: null, }, }; - /* + ΠΌΠΈΡ€.тСкстуры = { - [Π Π•Π‘Π£Π Π‘Π«]: { - [Π’Π•ΠšΠ‘Π’Π£Π Π1]: null, - [Π’Π•ΠšΠ‘Π’Π£Π Π2]: null, - }, + [Π’Π•ΠœΠ_ΠžΠ’Π›ΠΠ”ΠžΠ§ΠΠΠ―]: { }, }; - */ var ΠΌ = ΠΌΠΈΡ€.ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠŸΠΎΠ£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ(Π’Π•ΠœΠ_ΠžΠ’Π›ΠΠ”ΠžΠ§ΠΠΠ―); - console.debug("отладочная Ρ‚Π΅ΠΌΠ°:", ΠΌ.структура); + var Ρ„Π°ΠΉΠ»Ρ‹ = Object.keys(ΠΌ.структура).sort(); + for (var Π½ΠΎΠΌΠ΅Ρ€ in Ρ„Π°ΠΉΠ»Ρ‹) + { + var Ρ„Π°ΠΉΠ» = Ρ„Π°ΠΉΠ»Ρ‹[Π½ΠΎΠΌΠ΅Ρ€]; + ΠΌΠΈΡ€.тСкстуры[Π’Π•ΠœΠ_ΠžΠ’Π›ΠΠ”ΠžΠ§ΠΠΠ―][Ρ„Π°ΠΉΠ»] = null; + } }; diff --git a/🏁.Ρ‡Π΅Ρ€Π΅Π΄Π° b/🏁.Ρ‡Π΅Ρ€Π΅Π΄Π° index b99d8c8..d28f185 100644 --- a/🏁.Ρ‡Π΅Ρ€Π΅Π΄Π° +++ b/🏁.Ρ‡Π΅Ρ€Π΅Π΄Π° @@ -3,15 +3,23 @@ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ рСсурсов Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ сСтки Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ сСтки -# Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ тСкстуры -#Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈ тСкстуры + Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ тСкстуры +Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈ тСкстуры ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ Ρ„ΠΈΡˆΠ΅ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сцСны ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΈΡˆΠΊΠΈ + ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ„ΠΈΡˆΠΊΠ°ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„ΠΈΡˆΠΊΠΈ ΠΊ Π²Ρ‹Π±ΠΎΡ€Ρƒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π² рисоватСлС Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡƒΠ·Π΅Π» сцСны Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΡƒΠ·Π΅Π» сцСны - Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΈΡˆΠΊΡƒ \ No newline at end of file + Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„ΠΈΡˆΠΊΡƒ +Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Ρ„ΠΈΡˆΠΊΡƒ + Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ Ρ„ΠΈΡˆΠΊΡƒ + ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ +Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΏΠ°Ρ€Ρƒ Ρ„ΠΈΡˆΠ΅ΠΊ Ρ€Π°Π·Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ + ΡΠ½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Ρ„ΠΈΡˆΠΊΠΈ +Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΏΠ°Ρ€Ρƒ Ρ„ΠΈΡˆΠ΅ΠΊ ΠΎΠ΄Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ + ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Ρ„ΠΈΡˆΠ΅ΠΊ послС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ \ No newline at end of file