设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2218|回复: 1

[RM脚本] Ruby Discoveries (from rrrevolution.com)

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
66
在线时间
7 小时
注册时间
2005-10-22
帖子
391

贵宾

发表于 2006-5-23 10:25:25 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
Ruby一个有趣的导入外部脚本的功能。
作者:Aoshiwik
来源:http://forums.rrrevolution.com/index.php?download=40

微量内容添加/修改:六脉神剑

先来看一下一段互联网上对一个Ruby语句的介绍:
因为使用Ruby轻松的能编写优良的模块化的代码,你会经常发现自己会写一些包含自包含的代码,比如面向x的接口,用于y的算法等。一般的时候,我们会把这些文件作为类或者模块的库。

有了这些文件,如果你想把它们整合到你的新程序中,Ruby提供了几种方法,现在先介绍一种:
[quote]require "filename"

require
它接收相对和绝对的文件路径作为参数,如果给的是相对路径(或者只是一个文件名),系统将会在当前的装载路径(load path)中的每个文件夹下寻找这个文件(装载路径保存在全局变量$:中)。
[/quote]

然后再来看看来自rrrevolution.com的这篇文章:
Description
描述


I have been learning ruby and here are some of my discoveries.
本人学过ruby,最近钻研Ruby后有了些发现,特不揣谫陋,略伸管见。

rmpx uses ruby version 1.8.1, I found out by checking the RUBY_VERSION global constant.
RMXP采用的ruby版本是1.8.1,这个东西便是通过查询RUBY_VERSION的全局常量发现的。-_-0

The ruby 1.8.1 download is worthwhile if you write scripts.
It comes with better documentation, samples, and a code editor that has syntax checking .
倘若你想学写脚本,那么下载一个 ruby 1.8.1 还是很值得的,不一定非得死磨RGSS。
这个版本有了更优良的文件,范例,还附带一个代码编辑器,能够检查语法……

I think it is a good idea to write scripts and save them as a .rb file, and then load them into rmxp like so.
个人感觉把写完的脚本存为一个.rb扩展名的文件,然后再在RMXP中导入这个文件不失为一个写脚本的好方法,如下:
  1. require 'Scripts\Test.rb'
复制代码


search directories for scripts are added like this.

  1. # $: is a global array. Each string specifies a directory to be searched for Ruby scripts.
  2. # $: 是一个全局数组,每一个字符都指定了一个文件夹以供搜索Ruby的脚本。
  3. $: << Dir.getwd
  4. # Dir.getwd Returns the path to the current working directory  (where the game.exe and .rxproj are)
  5. # Dir.getwd 返回了一个当前正在使用的文件夹(也就是诸如Project1之类的游戏工程文件夹)路径 (Game.exe所在之处)。
复制代码


For example, this code is in my project, in a script file just above Main. I add some directories, then load the scripts I want.

举个例子吧,下面这段代码就写在我工程的Main脚本前面,添加了一个文件夹,然后导入了需要的脚本文件:

  1. $: << Dir.getwd
  2. $: << 'C:\Project1'
  3. # -----------------
  4. require 'Scripts\Test.rb'
复制代码

(If you want to load scripts used by events you may have to load them in a rmxp script near the top of the list, I dont know, I have not yet worked with events much.Notice the ' ' strings, they are different then the " " strings, single quotes done use all the \ codes.)
(如果你想在事件的脚本中导入,可能需要在脚本编辑器中靠上的地方导入,未经测试,不太清楚。注意一下导入时的字符串,上面的例子中使用的是单引号 ' ',和双引号 " " 是不同的。在' '中,文件路径中的分隔符号都是用 \ ,而" "中却反之。)



这样一来,导入的脚本文件中的内容就能在程序中生效了。写在在脚本文件中的内容会在导入的第一时间执行,可以先把扩展名改为txt,把内容改为:
  1. p Math::PI
复制代码

然后再执行上面的导入过程,就能看到效果了。

个人感言:这个功能可能就是方便某些朋友在其他编译器中编写脚本吧……比如用UE编写了所有自定义脚本,然后再在RGSS中逐个导入。当然这个方法在加密游戏中,就必须把文件放到Data中了……至于在事件中导入,有兴趣的朋友不妨试试,这样一来无非就是实现当游戏进行中突然改变系统,比如之前是横板战斗,突然变为了RTAB,不过……{/lh}
另外,ruby中, require 这个语句也可以用 load 代替,不同点在于load每次执行导入时,都会包含一个ruby源文件,而require每个文件只包含一次。另外就是require可以导入更多类型的文件,如共享二进制的库文件之类的。

Lv1.梦旅人

梦石
0
星屑
66
在线时间
7 小时
注册时间
2005-10-22
帖子
391

贵宾

 楼主| 发表于 2006-5-23 10:25:25 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
Ruby一个有趣的导入外部脚本的功能。
作者:Aoshiwik
来源:http://forums.rrrevolution.com/index.php?download=40

微量内容添加/修改:六脉神剑

先来看一下一段互联网上对一个Ruby语句的介绍:
因为使用Ruby轻松的能编写优良的模块化的代码,你会经常发现自己会写一些包含自包含的代码,比如面向x的接口,用于y的算法等。一般的时候,我们会把这些文件作为类或者模块的库。

有了这些文件,如果你想把它们整合到你的新程序中,Ruby提供了几种方法,现在先介绍一种:
[quote]require "filename"

require
它接收相对和绝对的文件路径作为参数,如果给的是相对路径(或者只是一个文件名),系统将会在当前的装载路径(load path)中的每个文件夹下寻找这个文件(装载路径保存在全局变量$:中)。
[/quote]

然后再来看看来自rrrevolution.com的这篇文章:
Description
描述


I have been learning ruby and here are some of my discoveries.
本人学过ruby,最近钻研Ruby后有了些发现,特不揣谫陋,略伸管见。

rmpx uses ruby version 1.8.1, I found out by checking the RUBY_VERSION global constant.
RMXP采用的ruby版本是1.8.1,这个东西便是通过查询RUBY_VERSION的全局常量发现的。-_-0

The ruby 1.8.1 download is worthwhile if you write scripts.
It comes with better documentation, samples, and a code editor that has syntax checking .
倘若你想学写脚本,那么下载一个 ruby 1.8.1 还是很值得的,不一定非得死磨RGSS。
这个版本有了更优良的文件,范例,还附带一个代码编辑器,能够检查语法……

I think it is a good idea to write scripts and save them as a .rb file, and then load them into rmxp like so.
个人感觉把写完的脚本存为一个.rb扩展名的文件,然后再在RMXP中导入这个文件不失为一个写脚本的好方法,如下:
  1. require 'Scripts\Test.rb'
复制代码


search directories for scripts are added like this.

  1. # $: is a global array. Each string specifies a directory to be searched for Ruby scripts.
  2. # $: 是一个全局数组,每一个字符都指定了一个文件夹以供搜索Ruby的脚本。
  3. $: << Dir.getwd
  4. # Dir.getwd Returns the path to the current working directory  (where the game.exe and .rxproj are)
  5. # Dir.getwd 返回了一个当前正在使用的文件夹(也就是诸如Project1之类的游戏工程文件夹)路径 (Game.exe所在之处)。
复制代码


For example, this code is in my project, in a script file just above Main. I add some directories, then load the scripts I want.

举个例子吧,下面这段代码就写在我工程的Main脚本前面,添加了一个文件夹,然后导入了需要的脚本文件:

  1. $: << Dir.getwd
  2. $: << 'C:\Project1'
  3. # -----------------
  4. require 'Scripts\Test.rb'
复制代码

(If you want to load scripts used by events you may have to load them in a rmxp script near the top of the list, I dont know, I have not yet worked with events much.Notice the ' ' strings, they are different then the " " strings, single quotes done use all the \ codes.)
(如果你想在事件的脚本中导入,可能需要在脚本编辑器中靠上的地方导入,未经测试,不太清楚。注意一下导入时的字符串,上面的例子中使用的是单引号 ' ',和双引号 " " 是不同的。在' '中,文件路径中的分隔符号都是用 \ ,而" "中却反之。)



这样一来,导入的脚本文件中的内容就能在程序中生效了。写在在脚本文件中的内容会在导入的第一时间执行,可以先把扩展名改为txt,把内容改为:
  1. p Math::PI
复制代码

然后再执行上面的导入过程,就能看到效果了。

个人感言:这个功能可能就是方便某些朋友在其他编译器中编写脚本吧……比如用UE编写了所有自定义脚本,然后再在RGSS中逐个导入。当然这个方法在加密游戏中,就必须把文件放到Data中了……至于在事件中导入,有兴趣的朋友不妨试试,这样一来无非就是实现当游戏进行中突然改变系统,比如之前是横板战斗,突然变为了RTAB,不过……{/lh}
另外,ruby中, require 这个语句也可以用 load 代替,不同点在于load每次执行导入时,都会包含一个ruby源文件,而require每个文件只包含一次。另外就是require可以导入更多类型的文件,如共享二进制的库文件之类的。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:fux2@moe9th.com|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2020-2-19 03:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表