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

Project1

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

[已经解决] 如何在1个脚本中调用 def ***(方法)

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
355 小时
注册时间
2011-8-11
帖子
425
跳转到指定楼层
1
发表于 2011-8-24 17:48:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 小笨笨就是我 于 2011-8-24 17:48 编辑

例如 def process_escape
         *****
         end
我想要调用 process_escape
要用什么格式呢
顺便问一下 $和@符号在脚本里面做什么的?谢谢

Lv3.寻梦者

梦石
0
星屑
1165
在线时间
274 小时
注册时间
2011-7-24
帖子
272
2
发表于 2011-8-24 17:57:51 | 只看该作者
xxxx = 你定义的类名.new
xxxx.yyyy  (yyyy←你定义的方法名)  恩 就是这样喵
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42869
在线时间
7625 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

3
发表于 2011-8-24 17:58:16 | 只看该作者
def定义的方法放进Game_Interpreter里吧,因为事件的执行都是甩给这个解释器.
调用的时候直接用事件脚本就可以了。
例子
  1. class Game_Interpreter
  2.    def fux
  3.       p 1
  4.    end
  5. end
复制代码
事件脚本里写
  1. fux
复制代码
就可以了.
然后$开头的变量是全局变量,无论在什么位置都可以调用,@是局部变量,只在一个实例中有效,当然提供接口不算.

点评

我又白打了= =  发表于 2011-8-24 18:20
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

4
发表于 2011-8-24 18:16:09 | 只看该作者
本帖最后由 忧雪の伤 于 2011-8-24 18:20 编辑

调用方法是被调 + '.' + 方法名。
如果直接定义在顶层的方法,可以直接写方法名调用。(Kernel 同理。)
如果是当前对象可以直接调用的方法,可以直接写方法名或者被调写成 self (自身)。
@ 是实例变量,在当前作用域中有效(如果是方法则根据方法的性质),例如实例方法则是在当前作用域的实例中。
$ 是全局变量,在程序的任何角落都可以引用。所以使用要谨慎。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 03:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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