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

Project1

 找回密码
 注册会员
搜索
查看: 1847|回复: 10
打印 上一主题 下一主题

[已经解决] RGSS重写

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
215
在线时间
10 小时
注册时间
2009-7-25
帖子
656
跳转到指定楼层
1
发表于 2009-9-17 09:41:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 Goldencolor 于 2009-9-17 09:43 编辑

RGSS可以重写吗?写到事件那个脚本里面(注意)?
主要是为了重写调整阵营系统。如果有完整的阵营系统麻烦附上地址,可以调整坐标更换人员~

Lv3.寻梦者

梦石
0
星屑
1210
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

2
发表于 2009-9-17 13:27:53 | 只看该作者
理论上应该不可以吧,脚本在游戏运行时就被编译好了,貌似不可以修改。

至于阵营系统就爱莫能助了。

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10350
在线时间
4445 小时
注册时间
2005-10-22
帖子
7004

开拓者贵宾

3
发表于 2009-9-17 14:13:53 | 只看该作者
可以,RUBY的特性是运行时可以随时修改源码的
脚本从来没被编译,只是被解释
回复 支持 反对

使用道具 举报

Lv1.梦旅人

论坛御王核潜艇

梦石
0
星屑
50
在线时间
50 小时
注册时间
2006-1-3
帖子
637

冬季迷宫创意大赛冠军

4
发表于 2009-9-17 16:55:55 | 只看该作者
灵活的语言。。但也是个不稳定的语言。。
默默存在,畅游于各水域
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
215
在线时间
10 小时
注册时间
2009-7-25
帖子
656
5
 楼主| 发表于 2009-9-18 08:16:19 | 只看该作者
想到了~调用外部脚本~用内嵌式读取~。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1210
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

6
发表于 2009-9-19 12:57:04 | 只看该作者
可以,RUBY的特性是运行时可以随时修改源码的
脚本从来没被编译,只是被解释
orochi2k 发表于 2009-9-17 14:13



原来如此?看来我对Ruby事知之甚少啊……那RGSS怎么重写呢?

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

真实之终章

梦石
0
星屑
60
在线时间
48 小时
注册时间
2008-8-7
帖子
281
7
发表于 2009-9-19 13:13:30 | 只看该作者
要写到有关于“事件”(Game_Event,RPG::Event,等等),原则上规定是:
RPG中任何的类的initialize方法不可重写。(除非不用RM)
换言之,不可用这种方法来注册实变量。
RPG中的类的修改小心nil
内建类(主要是图像核心)尽量不要重写。
玫瑰绽放,彼岸流殇。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
238 小时
注册时间
2006-10-2
帖子
417
8
发表于 2009-9-19 13:20:17 | 只看该作者
本帖最后由 猫哥哥 于 2009-9-19 13:28 编辑

如果是在脚本里重写RGSS。
直接重定义就行了。Bitmap之类没有公开的类方法可以用alias重定义。
----------------------------------------------------------------------------------
如果是想在运行时修改的话:
RGSS里屏蔽了require。
不过可以用eval,比较麻烦。

假设有个"test.txt"文件,内容如下:
  1. class A ;def say;p 'haha';end;end
复制代码
RGSS里测试代码如下:
  1. class A
  2.   def say
  3.     p "wuwu"
  4.   end
  5. end
  6. obj = A.new
  7. obj.say #=>输出内容为"wuwu"

  8. file = File.open("test.txt","r")
  9. ss = file.readlines
  10. file.close

  11. eval(ss[0])

  12. obj.say #=>输出内容为"haha"

  13. exit
复制代码
需要注意的是,如果外部的文本文件里包含中文等非ANSI字符,需要存成无BOM的UTF-8格式,因为RGSS默认的编码是UTF-8。
-----------------------------------------------------------------------------
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10350
在线时间
4445 小时
注册时间
2005-10-22
帖子
7004

开拓者贵宾

9
发表于 2009-9-19 15:25:05 | 只看该作者
要写到有关于“事件”(Game_Event,RPG::Event,等等),原则上规定是:
RPG中任何的类的initialize方法不可重写。(除非不用RM)
换言之,不可用这种方法来注册实变量。
RPG中的类的修改小心nil
内建类(主要是图像核 ...
胖达达人 发表于 2009-9-19 13:13


部分内建类是C写的 囧,不重写的原因主要是效率上的 囧

我自从某次重写完TILEMAP就彻底无语了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
215
在线时间
10 小时
注册时间
2009-7-25
帖子
656
10
 楼主| 发表于 2009-9-20 08:14:48 | 只看该作者
恩~感谢了.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-8 06:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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