分享创作 可有可无的对话美化的简化系统

不宕 · 2020年08月07日 · 最后由 不宕 回复于 2020年08月09日 · 341 次阅读
本帖已被设为精华帖!

前言

在下,此贴主要是为了庆祝包括旧号在内有两个帖子很荣幸地被列入精华。 撒花撒花,不过目前的项目还是半成品,就来分享个小插件来庆祝一下。

这也是作为我们RPG教程系列第二弹——好看的皮囊

如果说好的剧情是有趣的灵魂,我们研究html css js也不过是为了给它套上个好看的皮囊像我这样写不出剧情的人只能干这个了,毕竟...有颜值的小姐姐它不香吗!?,当然,才华更重要,如果是文游这个有没有都无所谓了,它完全可以凭借内在独当一面。如果你用在RPG上,相信这个插件能锦上添花。

正文

=:var f=["https://i.loli.net/2020/07/25/uTbGcnUPKxvlQH2.jpg","https://f12.baidu.com/it/u=969962543,3394864333&fm=173&app=25&f=JPEG?w=640&h=337&s=52F539C40B46305142C89010030050CA&access=215967316"]

从论坛高手挖来的,把图片放到数组这个箱子里,便于使用,如果要做地图这是个好帮手

=:var t1=["","当<span style='color:#FF7F50'>幸福</span>来<span style='color:#87CEFA'>敲门</span>","你要尽全力保护你的梦想。","那些嘲笑你梦想的人,他们必定会失败,他们想把你变成和他们一样的人。","我坚信,只要我心中有梦想,我就会与众不同。","你也是。","能够接受一个卑微的身份,但是永远不会放弃高贵的灵魂!","无论我们做什么,一定要做到完美,别人要求你做到九分,你一定要力争十分,很简单,因为普通人只能做到九分,而你注定成就不平凡。","你不是凡夫俗子,你不会是永远被人踩的贱民。","所以你要忍辱负重,不计一切的成长自己。","当你足够强大的时候,便可了去天下不平事。"]

=:var t2=["","了不起的盖茨比","如果打算爱一个人,你要想清楚,是否愿意为了他,放弃如上帝般自由的心灵,从此心甘情愿有了羁绊。","每当你觉得想要批评什么人的时候,你切要记着,这个世界上的人并非都具备你禀有的条件。","世界不会在意你的自尊,人们看到的只是你的成就。在你没有成就以前,切勿过分强调自尊。","所有的光鲜靓丽都敌不过时间,并且一去不复返。","我们继续奋力向前,逆水行舟,被不断地向后推,直至回到往昔岁月。","所有伟大的小说,最终都会指向一个方向,虚无。所有的人生,都有一个共同的结果,梦碎,人亡。","人们并非生来平等,人的善恶感也生来各异。","梦想尽管躲避我们吧,无关紧要!明天,我们会跑得更快,伸展得更远,又将是一个晴朗的早晨。"]

=:var tg=[0,0,0];var tf=[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0];var p="";

=://t文本 p总和 tg个数 tf图片选择

假设t是剧本,从开始往下挨个写入剧本内容,在萝卜帮助下,可以使用html行内元素通过style上色,不过不能用css(我测试时不能,不知道有没有大佬有办法解决)

tf就是你提前设计的对话顺序,如0是甲,1是乙,还能多加2丙3丁,只要顺序不错就行了,在后面会用if判断是哪个角色的话,然后用function函数来更新数据。因为一开始往下运行tg就变了,所以要从开始写入

tg[0]是总剧本到哪,[1]甲拿到的剧本到哪,和[2]乙拿到剧本到哪

于是乎整个思路变成这样,你是编剧,设计总剧本t,给演员分别拿剧本t1 t2,他们的剧本里写有自己的话,还写了什么时候到自己的tf,他们用tg[1][2]来记录到了哪里,等一下说什么,你用tg[0]记录什么时候喊卡

=:function a(){p="<fieldset style='border-color:green;border-radius:25px;box-shadow: 5px 5px 5px #888888'><legend><img width=100px height=100px src=(j)f[0](/j)></legend>(j)t1[tg[1]](/j)</fieldset>";tg[1]++}

=:function b(){p="<fieldset style='border-color:#00FFFF;border-radius:25px;box-shadow: 5px 5px 5px #888888'><legend><img width=100px height=100px src=(j)f[1](/j)></legend>(j)t2[tg[2]](/j)</fieldset>";tg[2]++}

这里是俩人的函数,如果tf判断到他,他就会说话。p是总和,里面有框框,框框可以变换样式

下面的a()是先运行一次到甲第一句话,也就是不显示

=:a()

[1]
<div id="a">(j)p(/j)</div>
选:继续
<:if(tg[0]==tf.length-1){curBtn = null}
>:tg[0]++;if(tf[tg[0]]==0){a()}else{b()}
选:结束
<:if(tg[0]!=tf.length-1){curBtn = null}
>:game_jumpto("2")
跳:1
[2]
成功:感谢游玩

最后那个隐藏按钮是因为数组这个大箱子的格子是从0开始的,所以会比写入的剧本多一个格子,也就是+1,所以判断剧本有没有完要-1

后话

另外新小游戏马上就出来,届时请大家来捧场。然后就是,一键三连是我们操作的最好动力,什么,你不知道蝶梦的一键三连?收藏点赞关注!

共收到 1 条回复

还债记,练手新作,有兴趣的朋友可以玩玩

adminer 将本帖设为了精华贴 08月12日 11:12
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册