查看: 1782|回复: 3

[已经解决] 请问:几个简单的脚本问题

[复制链接]

史莱姆的信徒
12-B

梦石
0
星屑
53
在线时间
368 小时
注册时间
2013-8-14
回帖
909
发表于 2014-7-7 18:42:19 来自手机 | 显示全部楼层 |阅读模式

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

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

×
1如何获取事件名称?
2实例变量/临时变量 如果在事件脚本中创建,那么它的生效范围是?
3attr系列具体用途?


谢谢。

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-7-7 19:23:50 | 显示全部楼层
本帖最后由 taroxd 于 2014-7-7 20:28 编辑

1. event.name 其中 event 为 RPG::Event 的实例
2. 实例变量是给了 Game_Interpreter 的实例,通常为 $game_map 的实例变量 @interpreter。总之除非你知道你在干什么,别在事件脚本里用实例变量。临时变量什么的,事件脚本执行完就死了。
3. https://rpg.blue/forum.php?mod=r ... 517&pid=2519455 我解释的不清楚不要怪我,面向对象神马的真是最难讲了啦
总之就是实例变量的公开啦……

自己别去碰默认脚本,先写点小小的类什么的玩玩,创建几个实例,体会一下实例变量是什么东西吧。实践才是记住那堆无聊的东西的最佳方式。

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
回帖
1643

开拓者

发表于 2014-7-7 21:04:36 | 显示全部楼层
  1. def attr_reader(*syms)
  2.   syms.each do |sym|
  3.     str <<-EOF
  4.       def #{sym}
  5.         return @#{sym}
  6.       end
  7.     EOF
  8.     eval str
  9.   end
  10. end
复制代码
嗯如果你能看懂上面这个的话

  -fk: -azogi:
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-7-7 21:09:58 | 显示全部楼层
本帖最后由 taroxd 于 2014-7-7 21:13 编辑
kuerlulu 发表于 2014-7-7 21:04
嗯如果你能看懂上面这个的话



敢不敢专业一点……啊楼主请无视这一层和楼上那一层

[pre lang="ruby" line="1"]
class MyClass; end

class << MyClass
  private
  def attr_reader(*syms)
    class_eval syms.map {|sym| "def #{sym}\n@#{sym}\nend" }.join("\n")
  end
end[/pre]
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部