【问题标题】:Coffeescript load contents of text file into string variableCoffeescript 将文本文件的内容加载到字符串变量中
【发布时间】:2016-07-12 14:47:57
【问题描述】:
branches =
branch0:
  name: "Start" 
  text: "This is a wall of text. #1 {Terra: Hello there! My name is Terra! What's yours?} You find your desperation outweighing Cora’s vague warning. You feel miserable, paranoid, and your skin grows more raw and drenched by the minute. This is the fourth wall of text. This is the fifth wall of text. {Terra: My you're cute!} This is the sixth wall of text."
  options: 
    branch1: "Bad"
    branch2: "Good"
branch1:
  name: "Bad Intro"
  text: "You're a bad person!"
  options:
    branch3: "To Gate"
branch2:
  name: "Good Intro"
  text: "You've done good things!"
  options:
    branch3: "To Gate"

所以我正在开发一款基于文本的游戏。主要的分支路径被分成对象,故事文本是一个叫做“文本”的属性;主要的游戏逻辑包括读取“text:”属性中的巨大字符串并将其写入 HTML 文档。

为了便于阅读,有没有什么办法可以从单独的文件中读取我的文本,并以某种方式让内容显示为我的“文本:”属性的字符串? 7000 多字的故事把我的主要代码弄得乱七八糟。

【问题讨论】:

    标签: javascript string coffeescript text-files adventure


    【解决方案1】:

    您应该将游戏数据提取到一个文件或一组文件中。这可以是 JSON(完整的对话树/每个分支的文件)或只是文本(例如,从 text/branch1.txt 加载分支 branch1 的文本)。

    一般来说,让您的游戏数据富有表现力是个好主意,这样您就可以将数据和代码分开,并通过一组数据文件(即 JSON 文件)定义游戏的大部分行为。除了使您的游戏更加健壮之外,它还允许非程序员在不更改源代码的情况下制作内容并进行尝试。

    【讨论】:

    • 谢谢!这绝对是我一直在寻找的方向。 :) 我只需要被正确引导。
    • 在尝试实际实现这一点之后,我遇到了很多问题,老实说,我无法弄清楚如何将 JSON 应用于我的情况。我一直对此进行研究,发现由于 chrome 和其他浏览器的安全措施,人们在本地加载 JSON 文件时遇到问题。
    • 始终在服务器中运行您的 Web 应用程序,可以是一个非常简单的应用程序(例如 python -m SimpleHTTPServer 8080 并打开 localhost:8080)。创建一个函数loadAssets,并在加载数据后调用回调。在loadAssets 中,通过HTTP 加载数据(例如使用jQuery 或superagent 或直接的XMLHttpRequest)。页面加载后,执行loadAssets(function(jsonData) { /* build your game user interface on jsonData */ });
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 2023-03-14
    • 1970-01-01
    • 2010-09-13
    • 2015-04-05
    相关资源
    最近更新 更多