我是 JS 初学者。我想制作一款视觉小说类型的游戏。当你在法庭上时,有点像 Ace Attorney 游戏。在这个游戏中,你会遇到人,而不是打架,而是与他们交谈。在遭遇中,顶部是一个图像。此图像将根据您的反应而改变。它下方有一个文本框,显示当前文本。下面有 2 个(或可能更多)选项框。你有一个有 100 点的耐心计(就像健康计)。根据您选择的选项,您将失去或获得耐心。你用完了你就输了。目标是使用正确的响应并在不失去所有耐心的情况下到达对话的结尾。根据您所做的选择,将出现不同的对话框。所以我正在准备一个对话树。
关于如何编码的任何想法?我真的很难弄清楚在哪里存储所有文本和选项。以及如何访问文本和选项。
这是文本和选项的示例。起初我尝试将文本放在对象中。sales1 是介绍文字。如果您选择 opt1,sales2 文本将显示在屏幕上。如果您选择 opt2,sales3 文本将显示在屏幕上。
const sales1 = { action: "Salesman Chad wants to talk!", opt1: "告诉他你不感兴趣", opt2: "听他说完" };
const sales2 = { action: "他对此进行了反驳!"先生,像你这样有品位的人需要这辆车!", opt1: ""我们甚至不在经销店!", opt2: ""Ooo一辆新车”” };
const sales3 = { action: ""Ssssooooooooo, 你有什么样的电视服务?", opt1: "告诉他你的房东付钱", opt2: "告诉他你不怎么看电视" };
@font-face {
font-family: "Game Over Cre";
src: url(fonts/gameovercre1.ttf);
font-style: normal;
font-weight: 300;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "Game Over Cre", sans-serif;
font-size: 40px;
}
body {
background: black;
color: white;
}
#image-box {
border: 4px solid white;
height: 500px;
width: 60%;
margin: 10px auto;
align-items: center;
display: flex;
justify-content: center;
}
#opponent {
height: 400px;
}
#text-box {
border: 4px solid white;
height: 150px;
width: 60%;
margin: 10px auto;
padding: 20px;
}
#options {
display: flex;
width: 60%;
/* background: gray; */
margin: auto;
flex-wrap: wrap;
justify-content: space-between;
}
#option-1, #option-2, #option-3, #option-4 {
height: 100px;
width: 49.5%;
border: 4px solid white;
margin-bottom: 10px;
font-size: 35px;
padding: 10px;
}
#option-1:hover, #option-2:hover, #option-3:hover, #option-4:hover {
background: white;
color: black;
}
<body>
<section class="main-hub">
<div id="image-box">
<img id="opponent" src="img/salesman-chad.png">
</div>