answer box now gets correctly generated

This commit is contained in:
Yannik
2023-05-27 20:10:18 +02:00
parent b50fe68f77
commit 95c1bf77c4
4 changed files with 33 additions and 20 deletions

View File

@@ -16,10 +16,10 @@
<p id="dlg-text"></p> <p id="dlg-text"></p>
</div> </div>
<div hidden="true" id="answer-box"> <div hidden="true" id="answer-box">
<p id="answer"></p> <p class="answer"></p>
<p id="answer"></p> <p class="answer"></p>
<p id="answer"></p> <p class="answer"></p>
<p id="answer"></p> <p class="answer"></p>
</div> </div>
<img draggable="false" hidden="true" id="triangle" src="text_horror/assets/triangle.png"> <img draggable="false" hidden="true" id="triangle" src="text_horror/assets/triangle.png">
<p class="thx-for-playing">Thanks for playing</p> <p class="thx-for-playing">Thanks for playing</p>

View File

@@ -14,8 +14,8 @@ function load() {
} }
function typeWriter() { function typeWriter() {
if (document.getElementById("dlg-text").innerHTML.length < dlgLines[dlgPointer].toString().length) { if (document.getElementById("dlg-text").innerHTML.length < dlgLines[dlgPointer].length) {
document.getElementById("dlg-text").innerHTML += dlgLines[dlgPointer].toString().charAt(typeindex); document.getElementById("dlg-text").innerHTML += dlgLines[dlgPointer].charAt(typeindex);
typeindex++; typeindex++;
document.getElementById("triangle").hidden = document.getElementById("dlg-text").innerHTML.length != dlgLines[dlgPointer].length document.getElementById("triangle").hidden = document.getElementById("dlg-text").innerHTML.length != dlgLines[dlgPointer].length
setTimeout(typeWriter, speed); //loops because of running "typeWriter" after waiting setTimeout(typeWriter, speed); //loops because of running "typeWriter" after waiting
@@ -25,22 +25,32 @@ function typeWriter() {
function nextDlg() { function nextDlg() {
document.getElementById("triangle").hidden = true; document.getElementById("triangle").hidden = true;
if (document.getElementById("dlg-text").innerHTML.length == dlgLines[dlgPointer].length) { //check if text is typed out if (document.getElementById("dlg-text").innerHTML.length == dlgLines[dlgPointer].length) { //check if text is typed out
document.getElementById("triangle").hidden = true; if (dlgPointer < dlgLines.length - 1) { //check if dlgPointer is not at the array end
if (dlgPointer < dlgLines.length - 2) { //check if dlgPointer is not at the array end
do { do {
dlgPointer++;
if (typeof dlgLines[dlgPointer] === 'number') if (typeof dlgLines[dlgPointer] === 'number')
speed = 50 / dlgLines[dlgPointer]; speed = 50 / dlgLines[dlgPointer];
else if (typeof dlgLines[dlgPointer] === 'object') { } else if (typeof dlgLines[dlgPointer] === 'object') {
else if (typeof dlgLines[dlgPointer] === 'string' && String(dlgLines[dlgPointer]).startsWith("_")) { document.getElementById("answer-box").hidden = false;
document.getElementById("bubble").onclick = null;
const answers = document.getElementsByClassName("answer");
const keys = Object.keys(dlgLines[dlgPointer]);
for (let j = 0; j < keys.length; j++) { //why is the length one smaller? Does javascript make any sense someday?
answers.item(j).innerHTML = keys[j];
}
break;
}
else if (typeof dlgLines[dlgPointer] === 'string' && dlgLines[dlgPointer].startsWith("_")) {
if (dlgLines[dlgPointer].split(":")[0] === "_title") if (dlgLines[dlgPointer].split(":")[0] === "_title")
document.getElementById("title").innerHTML = dlgLines[dlgPointer].split(':')[1]; document.getElementById("title").innerHTML = dlgLines[dlgPointer].split(':')[1];
} }
dlgPointer++;
}
while (!(typeof dlgLines[dlgPointer] === 'string') || dlgLines[dlgPointer].startsWith("_")) //again if it's not string
if (typeof dlgLines[dlgPointer] === 'string') {
typeindex = 0;
document.getElementById("dlg-text").innerHTML = "";
typeWriter();
} }
while (typeof dlgLines[dlgPointer] !== 'string' || String(dlgLines[dlgPointer]).startsWith("_")) //again if it's not string
typeindex = 0;
document.getElementById("dlg-text").innerHTML = "";
typeWriter();
} else { } else {
document.getElementById("bubble").hidden = true; document.getElementById("bubble").hidden = true;
document.getElementById("answer-box").hidden = true; document.getElementById("answer-box").hidden = true;

View File

@@ -3,14 +3,17 @@
"Hello welcome to TextHorror!", "Hello welcome to TextHorror!",
"_title:NPC Name", "_title:NPC Name",
"This is the second line", "This is the second line",
"Aand a third line",
0.3, 0.3,
"This text is slow", "This text is slow",
1, 1,
"And again normal text", "Can you answer?",
{ {
"Yes": "CoooooooolllSADVwqavedWSDV", "Yes": [
"Also Yes": "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMGGHWhudujwd" "CoooooooolllSADVwqavedWSDV"
],
"Also Yes": [
"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMGGHWhudujwd"
]
} }
] ]
} }

View File

@@ -69,7 +69,7 @@ body {
bottom: 68%; bottom: 68%;
} }
#answer { .answer {
text-decoration: underline; text-decoration: underline;
font-size: 30px; font-size: 30px;
} }