Project1

标题: 如何读取外置脚本? [打印本页]

作者: 喵呜喵5    时间: 2013-9-13 13:00
标题: 如何读取外置脚本?
本帖最后由 喵呜喵5 于 2013-9-13 20:18 编辑

rt,如何把一个脚本存为一个单独的文件然后运行游戏时读取这个文件?
作者: 345912390    时间: 2013-9-13 18:04
在别人的工程中看到了这个

  1. $import_ctxt = binding
  2. def import(file)
  3.   Kernel::open(file, "r"){|f|
  4.     eval(f.read, $import_ctxt, file, 1)
  5.   }
  6. end

  7. import "scripts/scriptmanager.rb"
复制代码
不过不太明白什么意思,但可读取脚本
作者: asdwds    时间: 2013-9-13 19:07
把脚本做成文件后,不需复制进编辑器,想用就复制文件到Data包里面,使用输入读取
这个和你直接复制进编辑器有差别吗?为什么喵呜要这么做?
作者: 喵呜喵5    时间: 2013-9-13 20:12
345912390 发表于 2013-9-13 18:04
在别人的工程中看到了这个不过不太明白什么意思,但可读取脚本 ...

谢谢,看到你的回复感觉有思路了
顺便解释一下你给的脚本:
Kernel读取.rb文件,然后用eval执行,不过eval里面跟着那么多参数是怎么回事……


作者: LBQ    时间: 2013-9-14 00:47
尼玛为毛这么麻烦直接 load xxx.rb
作者: Algalon    时间: 2013-9-14 01:35
eval(string, binding, filename, linenumber)

这里evaluate的string为f.read,即"scripts/scriptmanager.rb"的内容,binding用于确定evaluate的特定环境,不过在这里好像没有实际作用





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1