为Javascript游戏创建文本对话框

时间:2013-10-12 04:47:37

标签: javascript jquery craftyjs

我有一个游戏,你可以与NPC互动,他们给出了多个答案。 我已经搜索了教程和演示,但它们都与Unity有关。

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

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

2 个答案:

答案 0 :(得分: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');

答案 1 :(得分:0)

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