分类 Twine学习资料 下的文章 - 聚联慧合 | 放心之语
首页
服务
下载
视频
社群
更多
统计
购买
搜 索
1
《Twine中文使用指南》
1,111 阅读
2
我们一起摇太阳
230 阅读
3
如何使用Twine创作非线性文本故事
210 阅读
4
AI人工智能应用框架说明
206 阅读
5
如何使用Twine制作文本和卡牌游戏
192 阅读
Twine学习资料
Twine视频教学
Twine项目案例
登录
/
注册
搜 索
放心之语
累计撰写
27
篇文章
累计收到
2
条评论
首页
栏目
Twine学习资料
Twine视频教学
Twine项目案例
页面
服务
下载
视频
社群
统计
购买
用户登录
登录
注册
找到
5
篇与
Twine学习资料
相关的结果
2024-06-03
《Twine中文使用指南》
Twine属于开源项目,所有案例和源码以及使用说明,在其官方网站上有详细的解释,这里我们针对初学者,用中文简要介绍其使用方法。一、安装和使用TwineTwine有两种使用方式:通过网络浏览器或将其安装到电脑上。目前Twine 没有 Android 或 iOS 应用程序,因此在平板上只能通过浏览器使用,而电脑上可以适用windows,linux和macos系统。1、浏览器使用Twine浏览器官方使用地址,浏览器是英文版,可通过浏览器自动翻译功能实现中文界面。2、桌面程序Twine电脑程序下载,win版程序有部分已经汉化,其他英文部分也很好理解。Twine程序在Github上的官方下载地址Twine程序win版本,百度网盘下载地址 提取码:fxzy二、Twine能够做什么?1、超文本编辑与故事线索可视化从本质上来说,Twine是一个用于创建超文本的工具。超文本与线性故事(书籍和杂志中常见的那种)的区别在于,前者允许读者拥有一定程度的控制权。换句话说,读者在故事中可以决定接下来要与什么互动,这既可以是选择某个角色,或选择某个角色的行为,也可以是回答某个问题,然后故事将根据不同选择,而朝着不同方向发展。读者通过点击链接浏览超文本。从这个意义上讲,大多数用户都是经验丰富的超文本读者,因为你目前浏览的就是超文本页面。对于创作者而言,由于超文本分支太多,因此很容易迷失在作品中。Twine 的大部分功能都致力于通过段落可视化视图帮助以视觉方式跟踪作品的结构,以便作者以读者的视角来进行体验。段落或称为片段示例:与一般的超文本编辑器不同,我们可以用Twine来制作游戏互动和教学互动,Twine 本身可以或多或少地被认为是一个帮助打包故事的编辑器。而提供底层条件逻辑、变量和游戏编程的其他引擎是故事格式。2、格式选择目前Twine官方提供的故事格式有四种,分别是:Chapbook,Harlowe,Snowman和SugarCube,这四种格式的用途有所差别,其主要功能是减少创作者编写代码,而是通过点击不同的工具栏中的工具,实现代码自动填充功能。但在实际页面中,创作者看到的还是代码,只是不用手写了而已,因此如果要创作游戏和教学互动页面,了解一些HTML、CSS或JavaScript知识也是需要的,但这相较于复杂的手写代码编程,要容易的多。大家可以通过这个案例《麦琪的礼物》了解文本游戏的基本原理和思路,这个故事是由Chapbook格式编写的。顺便说一句Chapbook是最新的故事格式,它旨在易于学习,并尽可能简化人们使用 Twine 创作时的许多常见任务,建议初学者使用这个格式。三、保存、导出与设置1、文件保存、导出与界面语言通过浏览器在线编辑的Twine文件保存在本地浏览器存储中,如果清除浏览器窗口会话和cookie 也可能会清除掉已经保存文件,因此在线使用的时候最好是将index.html文件发布到本地保存,以便下一次编辑的时候可以直接通过在线浏览器打开本地的html文件,但需要注意的是图片、音乐等其他多媒体文件需要上传到服务器或其他网络存储空间,以便html文件调用。另外,使用不同的电脑或浏览器也意味着访问不同的本地存储。当用作桌面应用程序时,Twine文件将存储在当前用户的文件下。可以通过左上角的“Twine”->“set story library folder”菜单选项访问当前的故事集合文件夹。故事内容和代码将自动保存到此文件夹下的html文件中,在编辑过程中通过“构建”->“发布到文件”,可以发布为一个副本,到本地的其他位置。语言设置 无论是在线应用还是桌面应用程序,都可以设置语言,可以通过左上角的“Twine”->“偏好”来进行设置,如下图:2、故事创建,选择格式与IFID版权使用 Twine 制作的任何东西都可以用任何名字来称呼。命名约定没有任何规则,从实验性游戏到更传统的小说,一切都可以在 Twine 中创建。一般来说,Twine 编辑器将单个项目称为故事。故事创建示例:故事格式的选择有两种方式,在新故事之前可以通过“Twine”->“故事格式”来选择,或则在进入故事编辑界面后,通过在“故事”->“细节”->“故事格式”,来进行选择,不同故事格式也有不同版本,可兼容编辑以前旧版本的HTML文件。在创建时,每个故事都会被赋予一系列字母和数字,称为交互式小说标识符 (IFID 。导入或发布故事时,始终会保留IFID信息。这有助于作者在不同平台上跟踪他们的项目,或者防止其他作者在未经他们知情或同意的情况下复制或试图将其据为己有。每个故事的IFID也是在“故事”->“细节”->“故事格式”中进行查看,如下图所示。故事格式选择与IFID查看示例:三、入门使用1、故事的新建、编辑、标签、重命名、复制与删除在“故事”导航栏下面,有每个故事的操作按钮,你可以新建,编辑故事,也可以复制和删除故事.故事标签的意义在于你可以将相关故事组织在一起,也可以通过添加标签将故事进行分类管理,并可以通过“查看”->"显示标签"然后选择不同标签下的故事,进行对故事的管理和编辑。2、导入与档案你可以导入其他人制作的Twine文件,也就是一个html文件,或者导入自己以前编辑的文件,你还可以导出档案,将目前库中的所有故事导出为一个html文件的档案,但在线浏览器中无法导入这个档案,因为所有故事的单个文件都在本地存储。3、编辑故事要开始编辑故事,您可以双击/点击故事,或者 从顶部工具栏中的“故事”选项卡中选择“编辑” 。在可下载的Twine应用程序中,你一次只能编辑一个故事。在浏览器上,你可以在多个选项卡中打开 Twine,并在每个选项卡中编辑不同的故事,但在多个选项卡中编辑同一个故事几乎肯定会导致问题。浏览器将选项卡彼此隔离以确保安全,这意味着一个选项卡中的 Twine 可以轻松覆盖第二个选项卡中对同一故事所做的更改。4、故事地图的使用浏览故事地图故事地图屏幕显示了故事的视觉结构。其中的每个段落都由一张卡片表示,它们之间的链接以带箭头的线条显示。滚动缩放和撤销恢复您可以使用滚动窗口时使用的所有常用方法在屏幕上滚动:窗口侧面的滚动条、使用触控板上的滚动手势等。如果您使用鼠标,也可以使用鼠标右键抓取视图并移动它。在故事地图的一角,你会看到三个按钮,它们显示了不同大小的方块。这些按钮可以让你放大和缩小地图,显示段落中不同级别的细节。在编辑故事内容或拖动故事块的时候,你可以撤销和恢复,可撤销多个操作,但在离开故事地图或关闭程序后,所有撤销记录都会被丢失,因此无法做到版本管理。5、段落编辑与测试运行每个故事由许多段落或片段的卡片组成,是每个故事里面的不同页面内容,读者将阅读每个段落里面的文字及参与互动,并通过链接跳转到其他段落卡片。要编辑段落,请选择该段落并从“段落”顶部工具栏选项卡中选择“编辑”。如果您使用鼠标,也可以双击段落进行编辑。这将打开一个对话框,您可以在其中更改段落。段落编辑对话框的大部分内容都是文本区域,您可以在其中输入玩家在播放故事时会看到的文本。更准确地说,您输入的文本将在播放故事时按故事格式呈现。例如,您可以在段落中输入代码来设置变量或有条件地显示某些文本。注意:段落内容的编辑方式,是根据你所选择的格式所决定的,见本指南第二条说明。你可以点击从这里开始测试,通过浏览器来测试每个单独的片段所显示给读者的页面实际内容。需要注意的是,如果之前的段落设定有变量,而本段落需要对这个变量进行运算,则需要测试前一个或多个段落,否则会报错。通过“构建”->“测试”或“运行”,可以自动调用默认浏览器来查看你所编辑的整个故事,校对是整个故事的html文件在浏览器中的代码显示,对于不熟悉html语言的人来说意义不大,而导出为Twee,是老版本的Twine格式,对于新版本无效。6、链接查找替换段落之间是通过超文本链接的方式进行链接的,读者需要通过点击这些链接标记,才能继续阅读。链接设置1、你可以简单的通过在段落中的文本周围放置两个方括号来创建链接。例:写作[[A passage]]与名为“A 段落”的段落建立链接。2、你也可以让浏览器显示的文字与链接段落不同,有三种方式例1:写作[[A label->A passage]]也会链接到名为“A 段落”的段落,但屏幕上显示的文本是“A 标签”。例2:写作[[A label|A passage]]也会链接到名为“A 段落”的段落,但屏幕上显示的文本是“A 标签”。例3:您还可以反转箭头方向并写入[[A passage<-A label]],其效果与前面的示例完全相同。段落链接区分大小写,所以需要命名完全相同,故事地图中,段落链接用以箭头结尾的实线表示。链接到自身的段落显示圆形箭头。你也可以使用纯文本以外的内容作为链接的触发器,但具体如何操作取决于您使用的故事格式。例如,通常可以在链接的标签部分输入 HTML 标签。但您使用的故事格式可能支持也可能不支持。内容查找替换和定位有时候,我们需要查找和替换所有段落卡片中的某些文字,例如某个人的名字,可以通过“故事”->“查找替换”选项卡来进行查找,需要注意的是,替换为空白的时候,如果点击替换所有片中的项,那么就会删除所有这些查找出来的文字。当故事片段很多的时候,其中某个情节或某个人物在很多片段卡片中出现,我们需要寻找定位,可以用“片段”->“跳转到”来寻找。故事开始故事由很多片段卡片组成,当我们完成大部分写作的时候,可以选择从不同的卡片开始故事,这样就不局限于一开始的第一张片段卡片。点击某张卡片然后选择“片段”->“从这里开始故事”即可。以上是Twine的基本操作指南,根据不同格式,会有不同的具体片段内容制作方法,我们将在以后逐步进行分享。
2024年06月03日
1,111 阅读
0 评论
6 点赞
2024-06-03
如何使用Twine制作文本和卡牌游戏
卡牌游戏或纸牌游戏,通常来说是一种桌上游戏,广义上是指使用游戏牌来进行游戏的总称。狭义上则是指使用扑克牌的游戏,实际上可以理解为一种竞技游戏,即有输赢的游戏。现代卡牌游戏不局限于扑克牌,也不局限于竞技输赢,例如塔罗牌,是一种占卜卡牌,而中国的易经所显示的六十四卦也可以被理解为一种卡牌。当然更多的还是竞技类卡牌,例如三国杀和密室逃脱等桌游,也可以通过卡牌文本来推进故事和比赛。另外一种集换式卡牌游戏简称TCG,是使用贩售的专用交换卡牌所进行的卡牌游戏,为两人以上的对战形式。1993年由美国数学家理察·加菲尔德(李察·加菲)所设计,威世智公司贩售的《万智牌》被视为是这股潮流的先驱。主要以桌上角色扮演游戏玩家为对象所贩售的该游戏,强调比起桌上角色扮演游戏或模拟游戏能够在短时间内结束、只要用心在准备与研究上就能够变强的特色,很快地就成为畅销游戏。用Twine可以制作上述大部分游戏,只是先确定相应规则即可,但与实时在线游戏不同的是,Twine制作的卡牌游戏目前主要是人机交互,或者多人用一个终端设备进行回合制的游戏,不能实现在线实时交互。这种限制,让Twine不同于2D或3D的动画游戏引擎,而更接近于文本,因此可以理解为一种人机交互的卡牌游戏。目前,用Twine制作占卜类游戏是较为简单的,因为无论是易经的六十卦还是塔罗牌,其占卜的结果数量都是确定的,只是相应的计算过程显得复杂而已。本站的《易经占卜》就是一个典型案例。用户只需要模拟抛撒铜钱,就能根据自己的问题而得出相应的卦象和卦辞,我们可以将这些卦象和卦辞理解为一张卡牌的结果,这个结果是根据易经的规则,即用户每次抛撒铜钱随机所得到的正反面即阴阳卦象,最后组合出现的。卦象的呈现是具象性的,而卦辞的解释则显得抽象,无论用户问的什么问题,每个结果都可以做出相应的理解,但大多数时候卦辞的解释与用户的所问具有一种对应性,我们可以将此理解某种神秘现象。除了易经占卜之外还有塔罗牌,星座占卜,占星术,茶叶占卜等,所有这些占卜类游戏,都可以使用Twine来制作,通过链接、变量和随机来实现不同的选择和解释,提供丰富的占卜体验。随机的具体代码用法关于链接、变量的使用,在《Twine中文使用指南》中有详细的说明,这里着重介绍如何实现随机功能。在Twine的chapbook格式中,可以很轻松的实现true(真)false(假)的判断,即随机的二选一,其代码如下:[if random.coinFlip] Heads! [else] Tails! 很明显,从英文单词就能看出来,这个命令就是随机抛硬币的意思,也就是二选一各有50%的可能性,这在各类占卜中十分有用。还有一种随机是多种情况的随机,最典型的例子就是掷骰子,这需要得出六种不同的结果,以下代码可以实现:_chosen: random.d6 -- [if _chosen === 1] One. [if _chosen === 2] Two. [if _chosen === 3] Three. [if _chosen === 4] Four. [if _chosen === 5] four. [if _chosen === 6] five. 上述代码中的_chosen: random.d6,意思是随机赋予临时变量_chosen从1到6的值,这样用户就能随机得到六种不同的结果。实际上可以有100种结果,只需要将random.d6改为random.d100即可,但是要编辑设置100种可能的文本工作量是十分巨大的,而用户只需要进行一次选择,这就完全失去了卡牌游戏的互动性和可玩性。上述随机变量的功能,可以模拟掷硬币、掷骰子、抽签、转轮盘等等,只需要加入类似的图片、动效和音效,就能给用户以相应的体验。 除了占卜类卡牌游戏以外,还有文字冒险类卡牌,策略类卡牌,角色扮演类卡牌,和上面提到的收集类卡牌。这些游戏都可以结合故事来进行,无非是在故事中插入不同的卡牌图片,让用户有更好的体验而已,而所有实现这些功能的技术都是依赖于不同的变量。关于非线性文本故事创作中的变量类别,在《如何使用Twine创作非线性文本故事》一文中有详细的说明。具体的代码使用和案例,可以参看本站已经发布的项目,相关教程在制作中。与一般的非线性文本故事不同,卡牌类游戏可以设置用户所扮演角色的各种值,例如玩家的生命值,和各种能力值,以及敌人的生命值,和各种能力值,根据这些值的变化,通过条件筛选这些值让游戏进入不同的场景并发生不同的故事情节。除了人物角色的值以外,也可以给装备、道具等设置相应的值,同样可以根据这些值而影响故事的发展。在收集类卡牌游戏中,这些值需要用户通过完成相应的任务来获得,而不是在游戏一开始就设定好。以上是使用Twine制作文本和卡牌游戏的方法,需要注意的是不同格式的选择所要求的代码格式也不一样,因此创作者需要先熟悉简单实用的格式,例如Chapbook格式,然后再学习其它格式。通过Twine制作文本和卡牌游戏,创作者不但能制作出自己想要的产品,更重要的是理解了一个游戏制作的整个流程,同时也学习了基础的计算机编程语言,这种思维方式同样也可以应用到生活学习中,对人们的现实生活大有脾益。
2024年06月03日
192 阅读
0 评论
0 点赞
2024-06-03
如何使用Twine制作交互式学习内容
用Twine制作交互式学习内容,是本站的重点。因为传统的文本教学缺乏交互性,学到的知识难以让人立即使用。本站的《爱情地图练习》,是一个典型案例,这个练习内容取自美国婚姻教皇,首席人际关系专家约翰.戈特曼(Johan Gottman)博士的《获得幸福婚姻7法则》中的内容改编,能够让读者立刻实践这本书中的内容,而不是阅读以后再去实践。一、案例文章以下是一些用Twine制作交互式学习内容的文章和介绍:1、密歇根州立大学的Emila Mercyk使用Twine创建了一个基于场景的互动模块,帮助培训图书馆员如何高效地进行参考采访。这种方式让学习者能够在安全的环境中练习和体验不同的场景。Creating interactive learning experiences with Twine给年轻图书管理员的信2、杜克大学无人机课程的互动游戏案例详细介绍了如何利用Twine进行教育。Duke LILE3、加州大学欧文分校有机化学实验课程中使用Twine创建的虚拟实验室体验。UCI DTEI4、肖恩·芬斯博士有一篇关于如何使用Twine进行数字教育的文章,详细介绍了制作交互式学习内容的方法。教育数字/互动讲故事:使用Twine使用 TWINE 教学5、这是一个互动故事,帮助人们理解抑郁症的深度。在这个游戏中,玩家扮演一个生活在抑郁症中的人,体验不同的选择和后果。你可以在这里体验:Depression Quest6、这是一个人文课堂中的互动小说:如何使用 Twine 创建互动文字游戏的课程介绍和基础教学内容:人文课堂中的互动小说:如何使用 Twine 创建互动文字游戏以上资料虽然都是英文版的,但值得学习,犹其是对交互式文本编辑还不太了解,认为这是一种过时的工具的人,可以至少从感官上理解,很多大学都在通过Twine在开展教学工作。二、制作方法制作交互式学习内容的方法,是在教学内容中插入一些试卷、问答、复习、计算和头脑风暴等交互式内容,以检验读者对于所掌握知识的理解和应用熟练程度。具体来说可以有以下几种;1、问题选项可以通过问题选项来测试读者对于所学的理解,例如以下代码:::Quiz1 1. 下面哪个选项是正确的? [[选项A->Correct]] [[选项B->Incorrect]] [[选项C->Incorrect]] ::Correct 正确!请继续。 [[下一题->Quiz2]] ::Incorrect 错误,请再试一次。 [[重新尝试->Quiz1]] 这个代码可以通过读者对于正确答案的选择,而进行下一题的测试,如果不对就返回重新尝试,::符号代表一个页面。2、问答问答需要读者输入答案,然后与预设值相匹配,具体代码如下:::Question1 请输入答案: (if: $answer is "正确答案")[恭喜你,回答正确!] (else:)[很遗憾,回答错误。] 用条件语句判断读者所输入的答案正确与否,可以促进读者的思考。3、计算Twine的一个重要功能就是计算,可以训练读者的计算能力,例如:::Calculation 输入一个数字: 输入另一个数字: (set: $result to $num1 + $num2) 结果是:$result 这是读者可以主动输入的代码,然后根据条件语句分析所输入的正确与否。4、头脑风暴头脑风暴可以让读者输入一段文字,然后打印出来,对比预设的答案或提示,给与读者以正向反馈,促进读者的不断思考,例如以下代码:::Brainstorm 请写下你对这个问题的看法: 你输入的想法是:$idea 这个代码只是让读者输入了一些想法,然后赋值于$idea,在另一个页面可以呈现预设的结论或提示,让读者进行更深度的思考。5、多媒体在交互式学习内容中,可以通过插入图片、语音、视频和其它网站页面等方式,让读者进行更深入的学习,例如:1) 插入图片:<img src="imagefilename.jpg" width=20%>2) 插入音频:sound.ambient.china.url: 'https://音频文件的网络路径' -- <!-- 这是音乐淡入淡出的设置 -->这个代码的意思式赋值于china一个音频文件,然后自动淡入淡出的播放。3) 插入视频或其他网页<iframe src="https://网页或视频地址" width="100%" height="400px" style="border:none;" ></iframe>这个代码的意思是插入一个其它网站的网页或者视频播放地址,并设置其长宽比。6、显示链接文本很多时候,类似PPT的播放功能,可以隐藏某段文字而只显示它的提示词,在交互中老师可提示学生这个提示词所提示的内容,等学生回答后,然后点击提示词以显示所隐藏的答案。例如:人工智能AI这个代码在浏览器中将显示问题,当读者点击“能否撰写非线性文本故事?”的时候,后面的text文本将显示,并遮蔽原有的文字。7、嵌入段落或开关嵌入段落与嵌入文本的不同在于,通过提示词链接到的是另一个片段页面中的内容,这个功能可以作为开关音频的开关,例如在本页面设置的是开启音频的代码,在另一个页面设置关闭音频的代码,那么当点击本页面的“停止播放”这个提示词时,就会自动嵌入另个页面停止播放的代码,于是音频被关闭了。::本片段页面 sound.ambient.love.url: 'https://音频文件路径' -- <!-- 这是音乐淡入淡出的设置 --> <button></button> ::另一个片段页面 <button>[[启动音乐|本片段名称]]</button> 以上代码让这两个页面之间的交互就能起到播放和停止音乐的功能。对于大篇幅的引用,同样用嵌入段落的语法,可以点击提示词的时候显示另一个片段页面中的所有内容,而不是跳转到另一个页面。例如:这个代码可以放置在本页面的任意位置,当读者点击“链接”这个提示词的时候,就会在本页面显示链接说明这个页面中的所有内容,而无需跳转。以上所有技术手段,都是为了更好的实现读者在阅读交互式学习内容的时候的体验,促进读者能在阅读知识文本的同时,能够深度参与其中,这样就能快速提升其对知识的理解和应用。需要注意的是,上述代码均为Chapbook格式,因为这是对于初学者最友好的格式,这些代码可以通过点击页面中的相应选项标签而获得,并不需要手写,具体运用方式可以查看相应的教学视频。其它格式也能实现上述功能,只是代码输入不一样,需要另外的学习,如果要做一个复杂的教学互动内容且熟悉前端编程代码,可以考虑用其它格式。
2024年06月03日
170 阅读
0 评论
0 点赞
2024-06-03
如何使用Twine创作非线性文本故事
本文介绍了如何使用Twine创作非线性文本故事,解释了基于Cybertext的非线性文本故事理论以及相关知识,其中重点介绍了非线性故事的七个变量:线索、结局、文本元、视角、访问条件、时效和随机的使用方法。
2024年06月03日
210 阅读
0 评论
0 点赞
2024-06-03
如何用Twine学习编程技术
使用 Twine 进行故事创作时,你会自然习得基础编程语言和编程逻辑。编程逻辑是所有编程语言的基础,通过 Twine 的创作过程,你无须特别学习某一门编程语言,也无须搭建任何编程环境,只需使用浏览器即可查看编程效果。实际上,Twine 的不同格式中可以运行 JavaScript 的大部分代码。本文旨在通过最简单通俗的语言向读者介绍 Twine 的基本编程逻辑,以帮助你更好地理解 Twine 在网页交互中的程序运行过程。或者你也可以这样理解,Twine 其实就是一个前端编程的代码解释器,只不过它解释的是 HTML 网页代码,而不是像 Python 等专业编程语言那样需要各种运行环境,只需浏览器就可以查看编程效果。实际上在 Twine 的不同格式中可以运行 JavaScript 中的大部分代码。由于Twine主要是基于浏览器的解释,因此并不能运行大型程序,因此我们只需要了解一些基本编程理念即可。一、数据所有程序都是基于数据的运算,而数据是由赋值和变量决定的。在 Twine 的不同格式中,对于数据的赋值有不同的方式。赋值的意思是对某个特定的英文字符串赋予某个数字的值,也可以赋予其他字符。而变量的意思是这些赋值可以在故事的进度中发生变化。在编程术语中,变量是可以更改的值的容器。在Twine中,变量是一种存储和处理某种数据的方式。从数字到一系列字符的任何内容都可以存储在变量中。与 Passage 中的其他代码或文本不同,变量在 Harlowe 和 SugarCube 故事格式中通常以美元符号 ($) 或下划线 ( ) 开头。(在 Chapbook 中,变量是“vars 部分”_的一部分。)例如,我们对某个故事人物的忠诚度赋值,然后在故事进度中这个值根据故事的发展而发生改变。例如,loyalty整个单词是忠诚度的意思,在chapbook格式中(以下均为chapbook格式,每一种格式的代码写法会不一样,但表达的意思是一样的),我们就在这个页面的顶部也就是Vars部分赋予这个loyalty的值为1,如下图:loyalty:1 --这个时候我们需要显示这个值,就可以在页面上写入:忠诚度: 在浏览器中就会显示为:忠诚度:1。当故事进入到下一个情节,我们再这个忠诚度增加1或任何数值,那么在后面的页面中,这个人物的忠诚度就会发生变化,你可以理解为游戏中人物的实时状态。你只需要在下一个故事页面的顶部写入以下代码,那么loyalty的值就会变成2.loyalty:loyalty + 1 --这些赋值和变量,可以由作者事先写入,也可以由读者自己填入,例如角色的名字,性别等等,但名字和性别这些赋值通常不会发生改变,而其他的值则可以用来进行运算和显示。当然,我们也可以通过JavaScript来赋予变量一个值或者进行运算,在chapbook格式中,我们可以这样写:[JavaScript] engine.state.set('loyalty', loyalty + 1); [continued] 这个时候,这个变量就会显示为2这个数值。在所有编程语言中赋值和变量的概念,是所有数据得以运算的基础。需要注意的是,在Twine故事中,除非重新开始故事,对每个变量重新赋值,否则变量只要赋值后就一直存在。但有时候我们需要在某个故事片段中临时使用这个变量的计算值,因此我们需要赋予一个临时变量,而不能直接在页面中插入这个变量的运算表达式,否则不被识别。例如:cash: 3 -- "Sorry, but I decided that I want dollars for it," the salesman replies.在这个代码中, 会被显示为文本,而不是计算出来的值,因此正确的写法应该如下:cash: 3 _unreasonablePrice: cash + 3 -- "Sorry, but I decided that I want for it," the salesman replies.这个时候 这个临时变量显示的值为6.二、布尔值与条件语句乔治.布尔在1847年出版了他的第一本书《THE MATHEMATICAL ANALYSIS OF LOGIC》,里面解释了如何运用代数形式表达逻辑思想,后来的克劳德・香农把这个原理应用到了逻辑电路,这才有了后来的计算机和互联网,否则就没有今天的信息时代。简单来说,布尔值就是将两个变量的值进行对比,而对比的方式是与、或、非,及英文里的and,or,not,从而产生了不同的结果。一些人理解这个图的意思,哪怕没有学过计算机语言,但大多数人不理解,但这没关系,我们只需要理解在Twine的创作中,赋予某个变量或某两个变量的值为True(真)或False(假)即可,然后就可以在页面用条件语句来编辑,例如其中一个变量的值为真,显示什么,若不是真则显示什么。或者同时满足两个变量,例如都为真,显示什么,否则显示什么;都为假,显示什么,否则显示什么;其中一个真而另一个假,显示什么,否则显示什么。这样的好处在于,根据故事发展的不同场景,我们可以赋予不同的变量,然后展示给读者阅读不同内容,于是故事也会朝着不同的方向进行发展。案例:假设有一段文字,主角在杂草丛中找到了一把钥匙hasKey: true -- 最奇怪的是:在那棵树底部周围的杂草中,有一把生锈的钥匙。 捡起它后,你决定 [[继续前进]].然后在故事的后面,当主角遇到门时,钥匙属于在大厅的尽头,你会发现一扇毫无特色的钢门。 [if hasKey] 你可以用你找到的钥匙试着[[打开它]]。 [continue] 你考虑 [[回头再找一找钥匙]].这个时候当这个页面上的hasKey的值为true的时候,你就可以打开这个门,否则就要返回重新回头寻找那把钥匙。需要注意的是所有数据的变量赋值和运算,都要用英文,而且区分大小写,因此不要写错了。除了True(真)或False(假)以外,我们还可以用条件语句来满足否写条件,才能进入到故事的下一个环节,例如:[if stringVariable === 'red'] [if dollarsInPocket > 5] [if 2 + 2 === 4]上述这些语句的意思是如果某个字符串(任意英文,区分大小写)的值等于red(红色),或大于5,或等于4,的情况下,显示某些内容、图片等素材。三、算法上述条件语句后面不一定是显示或不显示某些内容、图片等素材,也可以进行运算,意思是在满足某个条件的情况下,对某些变量进行运算,否则不运算。但是鉴于Twine为网页浏览器解释,因此不建议进行大量的运算和嵌套。例如在Chapbook中写入:loyalty:1 Key: true -- [[if key]] [JavaScript] engine.state.set('loyalty', loyalty +1 [continued] 这段代码的意思是,如果key(钥匙)为true(真),那么让变量loyalty的值再加1,最后显示的值就是为2.从结构上来看,一切计算机程序,都是由值,运算和流程控制这三个要素构成的,在Twine的故事创作中,我们很容易就能自动学习到值和运算,而每一个故事片段之间的关系,可以理解为是流程控制,即什么时候运算什么,要得出一个什么结果,导向哪些另外的故事情节。因此,对于一个没有任何计算机程序语言基础的人来说,仅仅是学习Twine来写故事,就能自动学会编程的基本逻辑和最基础的html语言和javascript的常用语言,这将为你今后学习真正的计算机语言奠定坚实的基础。最后顺带说一句,现在随着人工智能AI的发展,很多人认为学习编程语言没有用了,其实学习编程语言的优势在于锻炼我们自己缜密的思考逻辑,而不仅仅是写代码。因此如果你是编程纯小白,或者是一个学生,那么尝试Twine来学习编程写故事,是一个非常简单却效果明显的方式。
2024年06月03日
123 阅读
0 评论
0 点赞