Spaces:
Running
Running
Update index.html
Browse files- index.html +62 -0
index.html
CHANGED
@@ -623,6 +623,59 @@
|
|
623 |
<span class="pitch-line-text">-40</span>
|
624 |
</div>
|
625 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
626 |
</div>
|
627 |
|
628 |
<!-- 기존 비행 정보 (숨김) -->
|
@@ -789,6 +842,15 @@
|
|
789 |
const rollDegrees = fighter.rotation.z * (180 / Math.PI);
|
790 |
hudCrosshair.style.transform = `translate(-50%, -50%) rotate(${-rollDegrees}deg)`;
|
791 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
792 |
// RWR 업데이트
|
793 |
updateRWR(fighter);
|
794 |
}
|
|
|
623 |
<span class="pitch-line-text">-40</span>
|
624 |
</div>
|
625 |
</div>
|
626 |
+
|
627 |
+
<!-- 롤 인디케이터 (좌/우 기울기) -->
|
628 |
+
<div class="hud-roll-indicator" id="rollIndicator" style="
|
629 |
+
position: absolute;
|
630 |
+
top: -40px;
|
631 |
+
left: 50%;
|
632 |
+
transform: translateX(-50%);
|
633 |
+
width: 200px;
|
634 |
+
height: 30px;
|
635 |
+
">
|
636 |
+
<!-- 롤 각도 표시 -->
|
637 |
+
<div style="position: relative; width: 100%; height: 100%;">
|
638 |
+
<!-- 중앙 마커 -->
|
639 |
+
<div style="
|
640 |
+
position: absolute;
|
641 |
+
top: 0;
|
642 |
+
left: 50%;
|
643 |
+
transform: translateX(-50%);
|
644 |
+
width: 0;
|
645 |
+
height: 0;
|
646 |
+
border-left: 10px solid transparent;
|
647 |
+
border-right: 10px solid transparent;
|
648 |
+
border-top: 15px solid #00ff00;
|
649 |
+
"></div>
|
650 |
+
<!-- 롤 스케일 -->
|
651 |
+
<div style="
|
652 |
+
position: absolute;
|
653 |
+
bottom: 0;
|
654 |
+
left: 50%;
|
655 |
+
transform: translateX(-50%);
|
656 |
+
display: flex;
|
657 |
+
align-items: flex-end;
|
658 |
+
gap: 20px;
|
659 |
+
">
|
660 |
+
<div style="color: rgba(0, 255, 0, 0.5); font-size: 10px;">-30</div>
|
661 |
+
<div style="width: 1px; height: 10px; background: rgba(0, 255, 0, 0.5);"></div>
|
662 |
+
<div style="color: rgba(0, 255, 0, 0.8); font-size: 10px; font-weight: bold;">0</div>
|
663 |
+
<div style="width: 1px; height: 10px; background: rgba(0, 255, 0, 0.5);"></div>
|
664 |
+
<div style="color: rgba(0, 255, 0, 0.5); font-size: 10px;">30</div>
|
665 |
+
</div>
|
666 |
+
<!-- 현재 롤 표시 -->
|
667 |
+
<div id="currentRollMarker" style="
|
668 |
+
position: absolute;
|
669 |
+
bottom: 15px;
|
670 |
+
left: 50%;
|
671 |
+
transform: translateX(-50%);
|
672 |
+
width: 2px;
|
673 |
+
height: 15px;
|
674 |
+
background: #00ff00;
|
675 |
+
transition: left 0.1s;
|
676 |
+
"></div>
|
677 |
+
</div>
|
678 |
+
</div>
|
679 |
</div>
|
680 |
|
681 |
<!-- 기존 비행 정보 (숨김) -->
|
|
|
842 |
const rollDegrees = fighter.rotation.z * (180 / Math.PI);
|
843 |
hudCrosshair.style.transform = `translate(-50%, -50%) rotate(${-rollDegrees}deg)`;
|
844 |
}
|
845 |
+
|
846 |
+
// 롤 인디케이터 업데이트
|
847 |
+
const currentRollMarker = document.getElementById('currentRollMarker');
|
848 |
+
if (currentRollMarker && fighter.rotation) {
|
849 |
+
const rollDegrees = fighter.rotation.z * (180 / Math.PI);
|
850 |
+
// -30도에서 +30도 범위를 -60px에서 +60px로 매핑
|
851 |
+
const rollOffset = (rollDegrees / 30) * 60;
|
852 |
+
currentRollMarker.style.left = `calc(50% + ${rollOffset}px)`;
|
853 |
+
}
|
854 |
// RWR 업데이트
|
855 |
updateRWR(fighter);
|
856 |
}
|