0

我有一个游戏,您可以在其中与 NPC 互动,他们会给出多个答案。我搜索了教程和演示,但它们大多与 Unity 相关。

我对 Javascript 还很陌生,所以我不确定从哪里开始使用允许我 (1) 在初始“命中”时显示文本的文本对话系统(我已经能够做到),(2 ) 给出该问题的分支答案,(3) 并在某一行文本结束,(4) 同时能够按“Enter”键继续对话。

我现在能想到的唯一方法是使用大量的 If 语句。但是有没有更清洁的方法来做到这一点?

4

2 回答 2

1

一种方法是创建一个函数,其中输入是用户选择的内容:

function askNPC(question) {
  switch(question){
    case 'buy sword':
      return 'here you go!'; 
    break;
    case 'sell fish':
      return 'here you go!';
    break;
  }
}

var answer = askNPC('buy sword');
var answer = askNPC('sell fish');

另一种方法是将所有问题和答案存储在一个对象中:

var questions = {
  'buy sword': 'here you go',
  'sell fish': 'thank you'
}
function askNPC(question){
  if(typeof questions[question] !== "undefined"){
    return questions[question];
  } else {
    return 'Did not understand you question!';
  }
}

var answer = askNPC('buy sword');
var answer = askNPC('sell fish');
于 2013-10-25T13:19:54.880 回答
0

是的,看看这个关于开关的页面:http:
//www.w3schools.com/js/js_switch.asp

于 2013-10-13T05:28:54.880 回答