Project1
标题: 请问怎么调用其他脚本中的函数? [打印本页]
作者: wangzh9173 时间: 2015-4-11 23:36
标题: 请问怎么调用其他脚本中的函数?
比如:
A脚本:
module ABC
def test
p "Test"
end
end
module ABC
def test
p "Test"
end
end
B脚本中怎么调用,谢谢?前天刚接触RMXP,希望各位大大指教一下
作者: RyanBern 时间: 2015-4-11 23:47
这样写的话要把此module糅合到其他类中才能使用这个类的对象调用。
class A
include ABC
end
a = A.new
a.test # => "Test"
class A
include ABC
end
a = A.new
a.test # => "Test"
或者是将此方法设置为模块方法,这样使用模块名即可调用。
module ABC
def self.test
p "Test"
end
end
ABC.test # => "Test"
module ABC
def self.test
p "Test"
end
end
ABC.test # => "Test"
作者: wangzh9173 时间: 2015-4-11 23:57
RyanBern 发表于 2015-4-11 23:47
这样写的话要把此module糅合到其他类中才能使用这个类的对象调用。
class A
include ABC
谢谢版主大大,继续以上面这个为例,那能不能在A类中调用ABC Module中的方法呢
作者: RyanBern 时间: 2015-4-12 00:02
本帖最后由 RyanBern 于 2015-4-12 17:37 编辑
wangzh9173 发表于 2015-4-11 23:57
谢谢版主大大,继续以上面这个为例,那能不能在A类中调用ABC Module中的方法呢 ...
可以。
A类可不用糅合ABC模块,调用ABC模块方法的时候可以直接用'模块名.方法名'的形式调用。
module ABC
def test
p "Test"
end
def self.test
p "Module Function : Test"
end
end
a = A.new
a.test # => "Test"
class B
def test_b
ABC.test
end
end
b = B.new
b.test_b # => "Module Function : Test"
module ABC
def test
p "Test"
end
def self.test
p "Module Function : Test"
end
end
a = A.new
a.test # => "Test"
class B
def test_b
ABC.test
end
end
b = B.new
b.test_b # => "Module Function : Test"
作者: wangzh9173 时间: 2015-4-12 00:15
RyanBern 发表于 2015-4-12 00:02
可以,没有什么本质区别。
如果A类已经糅合了ABC模块,那么使用A类也可以调用ABC模块的方法。
module ABC ...
谢谢,明白了,讲解的很详细!
是这样的,我在论坛上找到一个随机迷宫和一个四处留情的脚本,前面那个可以实现随机生成迷宫,后面那个可以实现在地图上随机生成事件,我想在随机生成迷宫的同时也能在地图上随机生成事件,但是要使事件都生成在迷宫的道路上。
仔细研究脚本发现随机迷宫有个函数可以调整事件位置使它移动到道路内,那么我的思路是想在迷宫生成脚本中调用四处留情随机生成事件的函数,然后再对生成的事件进行位置的调整,这样可以吗?
-
-
脚本.zip
20.46 KB, 下载次数: 58
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |