kone
sub_icon

소미소프트

CI20618.1767371 명탐정S37-ver1.03- js.7z

2026-04-23 15:26:19
피드백
조회 8792 · 좋아요 5
양식
<div>
    <table><tbody><tr><th colspan="2"><p style="margin: 0.5rem 0px; display: flex; justify-content: center; align-items: center;">=</p></th></tr><tr><td colspan="2"><p style="margin: 0.5rem 0px; display: flex; justify-content: center; align-items: center;">=</p></td></tr><tr><td><p style="margin: 0.5rem 0px; display: flex; justify-content: center; align-items: center;">=</p></td><td><p style="margin: 0.5rem 0px;">=</p></td></tr><tr><td><p style="margin: 0.5rem 0px; display: flex; justify-content: center; align-items: center;">=</p></td><td><p style="margin: 0.5rem 0px;">=</p></td></tr><tr><td><p style="margin: 0.5rem 0px; display: flex; justify-content: center; align-items: center;">=</p></td><td><p style="margin: 0.5rem 0px;">=</p></td></tr><tr><th colspan="2"><p style="margin: 0.5rem 0px; display: flex; justify-content: center; align-items: center;">=</p></th></tr><tr><td colspan="2"><p style="margin: 0.5rem 0px; display: flex; justify-content: center; align-items: center;">=</p></td></tr><tr><th colspan="2"><p style="margin: 0.5rem 0px; display: flex; justify-content: center; align-items: center;">=</p></th></tr><tr><td colspan="2"><p style="margin: 0.5rem 0px; display: flex; justify-content: center; align-items: center;">=</p></td></tr></tbody></table>
</div>

CI20618.1767371 명탐정S37-ver1.03- js.7z

배포

aHR0cHM6Ly9jaS1lbi5kbHNpdGUuY29tL2NyZWF0b3IvMjA2MTgvYXJ0aWNsZS8xNzY3Mzcx

번역

https://kone.gg/s/somisoft/dpRF7oZf45OjP9VEcjsz0b

링크

aHR0cHM6Ly90cmFuc2Zlci5pdC90L2k5dWFDZ2cxRlRKTA==

폰트가 바뀌었고 현재 체력값에 여백이 줄어들면서 겹치는 문제가 발생함
\js\plugins\HDLayout.js

padStart(8) 을 16으로 만들어주면 됨

제공해주신 코드 `const currentText = String(this.currentValue()) + "".padStart(16);`는 프로그래밍적으로 **"현재 수치 뒤에 아주 긴 공백을 강제로 붙여라"**라는 의미입니다.

구체적인 분석은 다음과 같습니다.

### 1. 코드의 의미 단위 분석
* **`this.currentValue()`**: 현재 캐릭터의 HP나 MP의 **실제 숫자 값**을 가져옵니다.
* **`String(...)`**: 가져온 숫자 값을 화면에 그리기 위해 **문자열(텍스트)**로 변환합니다.
* **`"".padStart(16)`**: 빈 문자열(`""`)의 앞부분을 공백으로 채워 총 **16칸의 길이**로 만듭니다. 결과적으로 **스페이스(공백) 16개**가 생성됩니다.
* **`+`**: 숫자 텍스트와 16개의 공백을 하나로 합칩니다.

### 2. 왜 이렇게 작성되었을까? (작성 의도)
이 코드는 주로 **텍스트 겹침을 방지하기 위한 "꼼수"**로 사용됩니다.

`HDLayout.js` 소스 코드를 보면, 현재 값(`currentText`)과 최대값(`currentMaxText`)을 모두 **오른쪽 정렬("right")**로 같은 위치에 그리고 있습니다.
* 단순히 두 텍스트를 그리면 똑같은 오른쪽 끝 지점에서 시작하기 때문에 글자가 겹치게 됩니다.
* 이때 현재 값 뒤에 **`padStart(16)`으로 긴 공백**을 붙여주면, 컴퓨터는 "이 글자는 숫자 뒤에 공백이 아주 길게 붙어있는 하나의 문장"이라고 인식합니다.
* 결과적으로 오른쪽 정렬을 했을 때, 숫자 뒤의 투명한 공백들 때문에 **실제 숫자는 공백의 길이만큼 왼쪽으로 밀려나게 되어** 최대값과 겹치지 않게 됩니다.

### 3. 현재 상황에서의 문제점
사용자님이 올리신 이미지에서 체력값이 겹쳤던 이유는, 코드에 적힌 `padStart(8)` 또는 `padStart(16)` 정도의 공백만으로는 **사용 중인 폰트의 숫자 크기를 충분히 밀어내지 못했기 때문**입니다.

> **결론:** 이 코드는 **"오른쪽 정렬 시 숫자를 왼쪽으로 밀어내기 위해 투명한 가짜 공간을 16칸 확보하라"**는 뜻입니다. 숫자를 더 멀리 밀어내고 싶다면 `16`이라는 숫자를 더 키우면 됩니다.

mplus-1m-regular.woff
미번의 폰트는 반각 공백이 500, 숫자가 500의 너비를 갖고있는데

Moneygraphy-Rounded.woff
번역의 폰트는 반각 공백이 240, 숫자가 500 이상의 너비를 갖고있음

5
댓글 9개
댓글 쓰기
04.23
진짜 전문적인 피드백이네 개추
04.23
이건 좀 지리네
오 퇴근하면 참고해서 수정해야겠다
플러그인 제이손에서 수정하면되나.?
04.24
0 / 500