현재 Gameus' Quest System 를 이용하고 있습니다.
그런데 quest description 항목에서 엔터같은 줄바꿈이 적용 안되어 스페이스바를 이용하면 글씨의 장평이 쪼그라들게 보이게 되어 원하는 문장 형태로 볼 수 없는 상황입니다.
자바 스크립트를 전혀 할줄 모르는 상황에서 아래 코드가 의심되고 비슷한 코드 까지 찾아 줄바꿈을 적용해보려고 했지만,
도저히 하지 못해 이곳에 글을 남기게 되었습니다.
아래가 플러그인 코드 ------------------------------------------------------------------
Window_Base.prototype.sliceText = function(text, width) {
var words = text.split(" ");
if (words.length === 1)
return words;
var result = [];
var current_text = words.shift();
for (var i = 0; i < words.length; i += 1) {
var word = words[i];
var textW = this.contents.measureTextWidth(current_text + " " + word);
if (textW > width) {
result.push(current_text);
current_text = word;
} else {
current_text += " " + word;
}
if (i >= words.length - 1)
result.push(current_text)
}
return result
}
제가 찾은 예시 코드 입니다.-----------------------------------------------------------------------------------------------------
function wrapText(context, text, x, y, maxWidth, lineHeight) {
var words = text.split(' ');
var line = '';
for(var n = 0; n < words.length; n++) {
var testLine = line + words[n] + ' ';
var metrics = context.measureText(testLine);
var testWidth = metrics.width;
if (testWidth > maxWidth && n > 0) {
context.fillText(line, x, y);
line = words[n] + ' ';
y += lineHeight;
}
else {
line = testLine;
}
}
context.fillText(line, x, y);
}
아래는 drawtext 아마 글자가 그림으로표현(?)되게 하는 코드 같고 ---------------------------------------------------
var lines = this.sliceText(q.desc, this.contentsWidth());
for (var i = 0; i < lines.length; i += 1) {
this.questBitmap.drawText(lines[i], 0, this.lineY, this.contentsWidth(), this.lineHeight());
this.write();
}
q.desc 가 제가 exe 파일에서 입력한 글을 위에 slice에서 한번 넣어서 잘라온 값 같습니다