Sharku & Neoshka
Sharku Sharku
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, НСошка, Π½Π°ΠΊΠΎΠΏΠ°Π» старый Π°Π³Ρ€Π΅Π³Π°Ρ‚, Π½ΡƒΠΆΠ΅Π½ HUD Π² стилС Π³Π»ΠΈΡ‚Ρ‡Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π° Ρ…Π»Π°ΠΌΠ΅ – Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ΄ ΠΊΡ€ΡƒΡ‚ΠΎΠΉ, Π½ΠΎ систСму Π½Π΅ спалит. Π§Ρ‘ Π΅ΡΡ‚ΡŒ?
Neoshka Neoshka
ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, я Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΠ»Π° шаблон ΠΈΠ· старой Π΄Π΅ΠΌΠΎ-записи ΠΈ упростила Π΅Π³ΠΎ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π²ΠΎΠΉ ΠΊΠΎΡΡ‚Ρ‹Π»ΡŒ смог Π΅Π³ΠΎ Ρ…ΠΎΡ‚ΡŒ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΠΎΡ‚ΡΠ½ΡƒΡ‚ΡŒ. Π”Π΅Ρ€ΠΆΠΈ HTML максимально Π»Ρ‘Π³ΠΊΠΈΠΌ, JS-Ρ†ΠΈΠΊΠ» событий ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ, Π° CSS β€” ΠΎΠ΄ΠΈΠ½ спрайт-лист, Ρ‡Ρ‚ΠΎΠ±Ρ‹ GPU Π½Π΅ пСрСгрСлся. Π’ΠΎΡ‚ ΠΊΠΎΠ΄: ```html <!DOCTYPE html> <html lang="en"><head> <meta charset="utf-8"><title>Glitch HUD</title> <style> body{margin:0;font:0/0 sans-serif;background:#111;color:#0f0} #hud{position:fixed;top:0;left:0;width:100%;height:30px;background:#222} #hud span{display:inline-block;width:100px;text-align:center;overflow:hidden;animation:glitch 1s infinite} @keyframes glitch{0%{clip:rect(0,9999px,5px,0)}10%{clip:rect(5px,9999px,10px,0)}20%{clip:rect(10px,9999px,15px,0)}30%{clip:rect(15px,9999px,20px,0)}40%{clip:rect(20px,9999px,25px,0)}50%{clip:rect(25px,9999px,30px,0)}100%{clip:rect(30px,9999px,35px,0)}} </style> </head><body> <div id="hud"><span id="fps">FPS:0</span><span id="time">Time:00:00</span></div> <script> let fps=0,t0=performance.now() setInterval(()=>{let t=performance.now();fps=1000/(t-t0);t0=t;document.getElementById('fps').textContent='FPS:'+fps.toFixed(0)} ,100) setInterval(()=>{let d=new Date;document.getElementById('time').textContent='Time:'+d.getUTCHours().toString().padStart(2,'0')+':'+d.getUTCMinutes().toString().padStart(2,'0')},60000) </script> </body></html> ``` Π‘ΠΏΡ€Π°ΠΉΡ‚-лист β€” это просто PNG Π½Π° 256 Ρ†Π²Π΅Ρ‚ΠΎΠ², моТСшь Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΎΡ‚ Ρ€ΡƒΠΊΠΈ Π² любом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ β€” Π±Π΅Π· Π·Π°ΠΌΠΎΡ€ΠΎΡ‡Π΅ΠΊ с GPU. Если часы Π½Π°Ρ‡Π½ΡƒΡ‚ Π³Π»ΡŽΡ‡ΠΈΡ‚ΡŒ, просто ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈ частоту ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² JS ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ clip Π½Π° простой translate. Π£Π΄Π°Ρ‡ΠΈ Π² Ρ…Π°ΠΊΠ°Ρ…, Π½Π΅ услоТняй, ΠΏΡƒΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΎΡƒ-ΠΏΠΎΠ»ΠΈ ΠΈ Π³Π»ΡŽΡ‡Π½ΠΎΠ΅.
Sharku Sharku
ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»Π°. Π‘Π»Π΅Π΄ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ спрайт-лист Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π» 256 Ρ†Π²Π΅Ρ‚ΠΎΠ², ΠΈ Ссли получится, сократи JS Ρ†ΠΈΠΊΠ»Ρ‹ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ строки. Если ΠΊΠ°Π΄Ρ€Ρ‹ Π½Π°Ρ‡Π½ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ, Π·Π°ΠΌΠ΅Π½ΠΈ Π³Π»ΡŽΡ‡Π½ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π½Π° ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ, сСкунд Π½Π° ΠΏΠΎΠ». Π”Π΅Ρ€ΠΆΠΈΡΡŒ простоты, оставайся Π² низкополигональной Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅, Π²Ρ‹ΠΆΠΈΠ²Π°ΠΉ.
Neoshka Neoshka
Поняла, ΡƒΠ±ΠΈΡ€Π°ΡŽ ΠΏΠ΅Ρ‚Π»ΠΈ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ строки, замСняю Π΄Π»ΠΈΠ½Π½ΡƒΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π½Π° Π²ΡΠΏΡ‹ΡˆΠΊΡƒ Π² полсСкунды, ΠΊΠΎΠ³Π΄Π° FPS ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½ΠΈΠΆΠ΅ 15, ΠΈ Π΄Π΅Ρ€ΠΆΡƒ спрайт-лист ΠΏΠΎΠ΄ 256 ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠ². Π’ΠΎΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚: ```html <!DOCTYPE html> <html lang="en"><head> <meta charset="utf-8"><title>Glitch HUD</title> <style> body{margin:0;font:0/0 sans-serif;background:#111;color:#0f0} #hud{position:fixed;top:0;left:0;width:100%;height:30px;background:#222} #hud span{display:inline-block;width:100px;text-align:center;overflow:hidden;animation:glitch .5s infinite} @keyframes glitch{0%{clip:rect(0,9999px,5px,0)}25%{clip:rect(5px,9999px,10px,0)}50%{clip:rect(10px,9999px,15px,0)}75%{clip:rect(15px,9999px,20px,0)}100%{clip:rect(20px,9999px,25px,0)}} </style> </head><body> <div id="hud"><span id="fps">FPS:0</span><span id="time">Time:00:00</span></div> <script> let fps=0,t0=performance.now();setInterval(()=>{let t=performance.now();fps=1000/(t-t0);t0=t;document.getElementById('fps').textContent='FPS:'+fps.toFixed(0);},100);setInterval(()=>{document.getElementById('time').textContent='Time:'+new Date().toLocaleTimeString('en-US',{hour12:false, hour:'2-digit', minute:'2-digit'});},60000) </script> </body></html> ``` Π‘ΠΏΡ€Π°ΠΉΡ‚-лист ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ простым PNG с 256 Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ β€” нарисуй, сТатиС ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΠΉ ΠΊΠ°ΠΊ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ систСму Π² тонусС. Π£Π΄Π°Ρ‡ΠΈ с глюками!