在制作一个做 web 上 galgame 的脚本(?),想请教大佬们几个问题。

2017-01-24 17:47:20 +08:00
 hd7771

我的问题:

  1. 我想弄一个网站,用户上传脚本,然后我翻译之后返回给他一个 js 的链接,然后他自己引用。问题就是我的代码用到了一个叫做 jquery 的基础库和一个叫做 pixi 的图形库可能之后还会有声音库,那么有没有办法让帮用户使用这些依赖呢或者还是告诉用户让用户自己去搞?
  2. 用户成功用了我这个东西之后,游戏资源是到我服务器获取好还是让他自己去获取好?那么 js 资源的获取该怎么写?
  3. 虽然本地跑的不慢,但是网络上可能出很多问题,可不可以做到先把游戏隐藏跑一段时间再返回去让用户玩呢?
  4. 如果用户提交上来的脚本一点问题都没有,那么一定没什么问题。如果提交上来的有问题,我能想到的情况有限,错误提示有没有方便的办法去做呢?

我是 web 新手, js 都是当 c 来写的。。所以有些问题可能大佬们看起来比较白痴,但是你们的一点点帮助可能对我提高很大,谢谢。

这是我定义的语法:
bg.島_坂道_差分(夕方)|jpg
middle.chrysoA_a|png
dialog."???"."ass we can"
option2."肛"|flag1."不肛"|flag2
click
op.flag1{
  dialog."???"."boy next door"
  click
  middle.clear
  bg.図書館2階_隠し書庫_白黒|jpg
  dialog.""."deep dark fantasy"
  click
  des."菊花好痛"
}
op.flag2{
  middle.chrysoB_g|png
  dialog."???"."interesting"
}
click

然后对应的界面





4182 次点击
所在节点    JavaScript
36 条回复
arzusyume
2017-01-24 21:03:59 +08:00
> 然后我翻译之后返回给他一个 js 的链接

那直接返回一个 html 不是更好么
bombless
2017-01-24 21:34:47 +08:00
感觉可能做一个 js 库就可以了吧。也可以考虑打包成一个 exe 丢到 vps 上暴露一个端口来服务的方案。感觉主要取决于你希望运行环境有多灵活了。如果是对服务器环境没有假设的那种可能就是一个 css 库加上 js 库吧。
hd7771
2017-01-24 21:35:13 +08:00
@arzusyume 我是想能够插入用户的网页中,如果直接返回网页大概是怎么做。
tSQghkfhTtQt9mtd
2017-01-24 21:37:01 +08:00
hd7771
2017-01-24 21:38:17 +08:00
@arzusyume 您的意思就是让用户自己去改吧
hd7771
2017-01-24 21:40:36 +08:00
@liwanglin12 额,我加入绘图库就是为了之后更新可以加入一些特效的,比如柚子社常用的上下动一下,些许之后还能插入一些小游戏的。。
tSQghkfhTtQt9mtd
2017-01-24 21:42:01 +08:00
@hd7771 自己再改改喽= =
hd7771
2017-01-24 21:44:43 +08:00
@liwanglin12 看了一下,,他写的那么少怎么处理分支嵌套的情况。。。
tSQghkfhTtQt9mtd
2017-01-24 21:45:37 +08:00
@hd7771 #8 朋友博客在用,具体实现我也没了解过
hd7771
2017-01-24 21:47:55 +08:00
@liwanglin12 我解释器是 c++写的,有没有什么办法达到相似的效果呢?
hd7771
2017-01-24 21:56:41 +08:00
@liwanglin12 我知道了,他这个东西,如果分支之后,,相同的东西全部要重新写,,他是处理 json 的数据,,我是按照传统的解析器写的,,,小游戏用他的很方便, json 相关的工具非常多。。但是游戏流程稍微长了,工作量就会大很多。。
hd7771
2017-01-24 22:10:00 +08:00
@bombless 我是用 c++写的,是把脚本翻译成 js 的。我就是想按你的说法给别人调用。但是最理想的效果就是你说的一个库的效果,但是对于不同的脚本,翻译出来的东西是不一样的。可不可以对于每个翻译出来的文件制作一个库呢?大概怎么实现呢?
aaronrzh
2017-01-24 23:07:36 +08:00
直接返回一个 url 吧,让用户用 iframe 嵌到自己的网页就可以了
hd7771
2017-01-24 23:15:41 +08:00
@aaronrzh iframe 的作用是不是一个 html 文件可以插入到另一个 html 文件?那么我就把游戏资源放在我自己的服务器上。 localhost 上看的是什么样,对面引用看的也是什么样?
murmur
2017-01-24 23:21:57 +08:00
自定义语法都是多余的,踩过坑的人都知道没有编译原理基础自定义语言是多(zhui)痛苦的
所以如果你不知道用什么语言,就用 lua 吧
hd7771
2017-01-24 23:23:57 +08:00
@murmur 但是这个东西只有 if 啊。。。而且实现脚本语言本来就不需要多少编译原理的知识,,弄个 ast 树搜索一下就出来了。
hd7771
2017-01-24 23:26:01 +08:00
@murmur 而且就算是编译性的语言,也有非常多的工具来帮助你实现,你要做的也就是词法分析语法分析这些编译器前端工作,和专门的编译工作不是一个概念。。
murmur
2017-01-24 23:26:07 +08:00
@hd7771 新手么,不知道怎么拟定需求,总以为什么都很简单,等后面逻辑复杂了就知道加功能多困难了
所以我的建议是不知道嵌入什么语言就用 lua ,不知道什么语法就照着 lua 做, lua 那么多游戏做嵌入式引擎不是没道理的
aaronrzh
2017-01-24 23:49:38 +08:00
@hd7771 iframe 的作用是引用一个网页, html 和资源放在你的服务器上,把 html 的地址给用户就可以了,用户在他们的页面上添加一个 iframe 把你的网页引用进去就可以了
hd7771
2017-01-24 23:49:51 +08:00
@murmur 真的不是觉得很简单,是我就没想做难,能够跑个分支就行了,而且一个 if 语句主流语言全都是这么实现的。而且我问这个问题是我已经做完可以用了,然后想让别人能够方便用并插入网页中,我自己不做游戏(不会画画)。 lua 的作用很多,我不知道对于我现在这个情况怎么在网上搜索相关的资料。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/336716

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX